动态规划学习笔记

感谢知识来源:

演算法笔记:http://www.csie.ntnu.edu.tw/~u91029/

动态规划:从新手到专家:http://hawstein.com/posts/dp-novice-to-advanced.html

以及 老师、助教、学长、同学

-------------------------------------------分割线-------------------------------------------------------------------

  1.     分而治之的观点

    将大问题分解成为若干个子问题,使得问题的复杂程度下降,但是如何做一个【好的】分解呢?

    1. 例子:分解动作,将带球上篮分解会三个动作,如果这些动作仍然很难那么继续分解直至简单。

      动态规划学习笔记_第1张图片

    2. 积分求面积

  2. 动态规划是分治法运用记忆延伸

  3. 动态规划是执行如下的“变换”:

    1. 问题-->状态

    2. 全部问题-->状态空间

    3. 递归公式-->状态转移方程

  4. 动态规划算法设计步骤

    1. 分而治之

      1. 子问题与原问题有同样的计算方式

      2. 该问题反复出现

    2. 设计计算过程

      1. 哪些问题需要计算

      2. 需要计算多少个

      3. 定义表格来储存

      4. 决定计算顺序

      5. 设定初始值,划定范围

    3. 实现

      1. 上到下

      2. 下到上


  5. 交大OJ上的动态规划题目:

    1. 1002  二维DP

    2. 1013  完全背包

    3. 3029

    4. 2204

    5. 1060

    6. 1061

    7. 1062

    8. 1063

    9. 1064

    10. 1065

    11. 1066

    12. 1067

    13. 1068

    14. 1069

    15. 1070

    16. 1071

    17. 1072

    18. 1073

    19. 1074

    20. 1075

    21. 1076

    22. 1077

    23. 1078

    24. 1079

    25. 1080

    26. 1081

    27. 1082

    28. 1083

    29. 1084

    30. 1085

    31. 1086

    32. 1088

    33. 1089

    34. 1090

    35. 1091

    36. 1092






你可能感兴趣的:(动态规划学习笔记)