——————讲述动态规划的基本理论————————————
1、动态规划(DP):
若在求解一个问题中,当前状态需要由上一个状态推导出来。或者说某一个问题中有很多重叠子问题,使用DP是非常有效的。
2、动态规划做题“五部曲”:
1)确定dp数组的下标及含义;
2) 确定递推公式;
3)dp数组如何初始化;
4)确定遍历顺序;
5)举例推导dp数组;
动态规划问题的难点在于 如何确定dp数组,即dp数组表示的含义是什么,以及基于这样的dp数组定义,如何根据题目要求来构建递推公式。
做动规的题目,写代码之前一定要把状态转移在dp数组的上具体情况模拟一遍,心中有数,确定最后推出的是想要的结果。
选自 代码随想录