动态规划(DP)+经典例题剖析

目录

一、基本思想

二、与分治法的异同

三、动态规划算法的基本要素

四、算法步骤

五、经典例题

六、碰到的例题


一、基本思想

将待求解的问题分解成若干个子问题,先求解子问题,然后从这些子问题的解得到原问题的解。

二、与分治法的异同

同:基本思想一致(如上)

异:适用动规求解的问题,经分解得到的子问题往往不是相互独立的。而适用分治法的往往相互独立。

三、动态规划算法的基本要素

1、最优子结构性质:问题的最优解包含了其子问题的最优解。

2、重叠子问题性质:若自顶向下求解问题时则每次产生的子问题不总是新问题,有些子问题被反复计算多次。

四、算法步骤

1、找出最优解的性质,并刻画其结构特征

2、递归地定义最优值

3、以自底向上的方式计算最优值

4、根据计算最优值时得到的信息构造最优解

五、经典例题

(1)最大字段和   

         以及其拓展:最大子矩阵和 、最大m子段和

(2)最长公共子序列

(3)矩阵连乘

(4)揹包问题

(5)硬币问题

六、碰到的例题

(1)Count number of binary strings without consecutive 1’s

(2)护林员盖房子

(3)逆LCS

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章