Acm学习总结(6)

Acm学习总结(6)
这次学习dp动态规划;
其实动态规划就类似与递归与贪心算法的结合,也就是一个决策会影响到下一个决策,也就是一段一段的计算出最优的解然后,在最后把所有阶段的最优解在取最大的值;
动态规划的指导思想:
1.在做每一步决策时,列出各种可能的局部解
2.依据某种判定条件,舍弃那些肯定不能得到最优解的局部解。
3.以每一步都是最优的来保证全局是最优的。
其实动态规划我到现在还是没怎么理解,我现在只是会一个很简单的题,就是那个关于蜜蜂移动的题目;
我也就弄一些关于动态规划的一些解题思路:
1.如果用F[a][b]表示达到(a,b)这个点时所能吃到的最大金币数量。
2.得到递推关系式:
F[a][b]=max(F[a-1][b],F[a][b-1])+Coin[a][b]
(此步即为递归定义最优解的值,列出状态转移方程)
3.F[m][n]即为所求。
动态规划的基本模型:

  1. 有很多决策;
  2. 每一个阶段都能得出具体的该状态
  3. 该阶段不同的操作会引起下一步不同的结果
  4. 也就是该阶段最优解再继续求下一个阶段最优解;
    动态规划的解题步骤,其实我是觉得解题步骤是做题积累的经验只凭一纸空文无法具体解释这里也就是弄一些理论的知识
    1、判断问题是否具有最优子结构性质,若不具备则不能用动态规划。
    2、把问题分成若干个子问题(分阶段)。
    3、建立状态转移方程(递推公式)。
    4、找出边界条件。
    5、将已知边界值带入方程。
    6、递推求解。

猜你喜欢

转载自blog.csdn.net/ProgreamA/article/details/88858303