一、算法的目的
动态规划就是要利用历史数据进行对新一轮的运算,这样可以避免重复运算。
二、使用到的数据结构
历史数据一般用一维或二维数组存储起来,一般用dp对其命名
三、做题的分析步骤
1、明白数组元素的含义
一维和二维的区分具体题目具体分析,对于一维,就是dp[i]的第i个位置的值表示了什么,一般都是题目希望的答案
2、明确数据元素之间的关系
可以列出关系式,或者用简明代码梳理出来,关系式的列出往往与题目所给出的限制条件有关
3、找初始值
初始值是不能够通过关系式简单得到,需要根据题目的提示得到,对于二维数组,需要小心的是i或j其中一个为0的情况(假如原始数据的导入是从0开始)