动态规划

1、将已经算过的结果填在表格里面,然后记忆搜索这些结果,计算新的结果

一般求解最优解

概念: 

1、 最优子结构:

       问题的最优解由相关子问题的最优解组合而成

2、 边界:

        问题的边界, 得到有限的结果, 初始值

3、 动态转移方程:

       问题的每一个阶段和下一个阶段的关系

 

 

二、 动态规划题目特点

1、计数

    -- 有多少种方式走到走到右下角

    --  有多少中方法选出K 个数使得和为 Sum

2、 求最大最小值

    -- 从左上角走到右下角路径的最大数字和

   -- 最长上升子序列长度

3、求存在性

    -- 取石子游戏,先手是否必胜

    -- 能不能选出K个数使得和是Sum

三、解题步骤

1、 确定状态

         -- 最后一步(最优策略中的使用的最后一个抉择)

         --  化成子问题(转化为前面计算出来的子问题)

2、 转移方程

           f[x]  =  min/max( f(x - n) ,  f(x - n - 1))类似的

3、 初始条件和边界情况

        确定状态往下一步进行的时候的最小的计算的的数值, 以及确定一些边界(一维或者二维数组的边界区域)的情况, 以及一些可能溢出的结果

4、 计算顺序

        是从f[0] - f[1] - ---  f[x], 还是从 f[x] - f[x - 1] ----- f[0] 的这种计算顺序,依据状态转移方程确定

 

posted on 2020-02-23 12:44  黄山一叶  阅读(116)  评论(0编辑  收藏  举报