动态规划

知识点

  • 动态规划与暴力解的区别
  • 动态规划的四个常规步骤
  • 动态规划状态转移方程的常见形式
  • Top Bottom & Botton Up 的实现区别
  • 了解状态压缩动态规划
  • 了解计算动态规划时间复杂度的技巧
  • 背包问题

有无后效性:如果对于某个状态,我们可以只关注状态的值,而不需要关注状态是如何转移过来的话,那么这就是一个无后效性的问题,可以考虑使用 DP 解决。

解题思路 :BFS -> 记忆化搜索 -> 动态规划 思考路线:

  1. 如果使用暴力方法怎么做;
  2. 暴力方式里有哪些重复计算的部分;
  3. 将重复计算的部分抽成记忆化搜索;
  4. 存储重复计算的部分需要用到哪些参数;
  5. 这些参数是否就是 dp 数组的索引值;
  6. 使用 dp 解题
  • 能否套用到背包问题(成本,价值)
  • 创建几维的 dp 数组
  • 如果降维需要考虑遍历顺序(通常是成本这层循环需要改为逆序)

题目

动态规划-宫水三叶