学霸讲堂丨动态规划

Posted 常学习

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了学霸讲堂丨动态规划相关的知识,希望对你有一定的参考价值。


动态规划


上次说到贪心有局限,

当只顾眼前利益最大化时,

我们有时得不到最优解,

这时需要用更高级的解题思想

——动态规划


动态规划

(DP,dynamic programming)

运筹学的一个分支,是求解决策过程(decision process)最优化的数学方法。一般来说,需要用到动态规划思想时,是每一步都与前一步“环环相扣”,所以才看起来越多越无法一眼看清答案。


2019年一道高考数学题

(2019新课标Ⅰ卷, 21题)


本题被有的信息学奥赛选手(看昵称,oier,意指 Olympic Information -er后缀表人)评论为动态规划,并得到了众多赞同。

学霸讲堂丨动态规划

固定布局                                                        
工具条上设置固定宽高
背景可以设置被包含
可以完美对齐背景图和文字
以及制作自己的模板

然而,也有观点讨论说准确地说是递推,算DP的入门级难度

学霸讲堂丨动态规划

固定布局                                                        
工具条上设置固定宽高
背景可以设置被包含
可以完美对齐背景图和文字
以及制作自己的模板

  学霸讲堂丨动态规划

动态规划真的如此神奇?


原理:

1

动态规划是什么?


动态规划是一类解题思想,即将一个问题(f(n))拆解为若干组成部分(f(n-1)、f(n-2)、f(n-3)……f(n-m),须为有限个),并且上一步的答案(f(n-1))依赖于更前一步的步骤(f(n-2)、f(n-3)、f(n-4)……f(n-m-1))。


2

什么时候用动态规划?


适用于动态规划的问题须具有3个性质:

(1)最优化原理:如果问题的最优解所包含的子问题的解也是最优的,就称该问题具有最优子结构,即满足最优化原理。

(2)无后效性:即某阶段状态一旦确定,就不受这个状态以后决策的影响。也就是说,某状态以后的过程不会影响以前的状态,只与当前状态有关。

(3)重叠子问题:即子问题之间是不独立的,一个子问题在下一阶段决策中可能被多次使用到。


3

怎样用动态规划?


一般来说,动态规划最关键的是找出迭代的关系式;在2019新课标Ⅰ卷, 21题中,

题干已经给出

学霸讲堂丨动态规划

结合题目

学霸讲堂丨动态规划

即可由此求解出

学霸讲堂丨动态规划

那么问题就回归到求解a、b、c的值。


学霸讲堂丨动态规划

此处不做展开,深入研究可参考以下解答

学霸讲堂丨动态规划

(【解析】2019年高考数学部分题解析【已完结】

https://zhuanlan.zhihu.com/p/68363392)

固定布局                                                        
工具条上设置固定宽高
背景可以设置被包含
可以完美对齐背景图和文字
以及制作自己的模板

其实很多数学的问题解起来很烧脑,因为数学的逻辑与我们的日常语言相差较大;数学中的点、线、面,数字、计算等讲究的不是兼容性,而是不矛盾性。但是生活中往往没有那么多非此即彼、非黑即白的分类,常常有“少糖”“中辣”“加冰”等灰色地带,继而引起大家对数学的惶恐。

学霸讲堂丨动态规划

动态规划来解一下不可用贪心算法解答的纸币题:

题目回顾:

若1元、5元、7元的纸币分别若干张,要用这些纸币凑出20元,至少要用多少张纸币?


用DP思想,应如下考虑:

如果凑0元,则最少0张;f(0)=0

如果凑1元,则最少1张;f(1)=1

如果凑2元,则最少2张;f(2)=2

如果凑3元,则最少3张;f(3)=3

如果凑4元,则最少4张;f(4)=4

如果凑5元,则最少1张;f(5)=min(f(5-1)+1,f(5-5)+1)

如果凑6元,则最少2张;f(6)=min(f(6-1)+1,f(6-5)+1)

如果凑7元,则最少1张;f(7)=min(f(7-1)+1,f(7-5)+1,f(7-7)+1)          


至此,得到通项公式——f(n)=min(f(n-1)+1,f(n-5)+1,f(n-7)+1)


翻译:当n≥7时,凑n元钱最少可用的纸币数,等于①n-1元最少纸币数+1、②n-5元最少纸币数+1、③n-7元最少纸币数+1的①、②、③三者中最小值。


如果凑8元,则最少2张;

如果凑9元,则最少3张;

……

凑20元,最少4张。


用DP思想时,为了得到n时的最值,须求得比n小的所有情况的最值。

学霸讲堂丨动态规划


  学霸讲堂丨动态规划

北清学霸

与你一起常学习

        信息学|最值|动态规划


学霸全能私教

初高中全科辅导

贵州高考TOP50师资

扫描二维码

直接跟我们交流

喜欢本篇内容请给我们点个在看

以上是关于学霸讲堂丨动态规划的主要内容,如果未能解决你的问题,请参考以下文章

1$答疑讲堂 | 令狐冲现场剖析如何学好动态规划,为你解答疑惑

宿舍小讲堂 || 动态规划算法及其应用

清华学霸总结的动态规划4步曲,仅这篇动归够了

薅羊毛啦! 价值$1000动态规划答疑讲堂, 令狐冲老师为您划重点!

北大学霸总结的动态规划4步曲,仅这篇动归够了

告别动态规划,清华学霸提灯给你讲解DP,听不懂你打我