DP思想就是找到问题最小子问题最优策略, 通过子问题最优策略的状态转移求出需要的状态.
此题DP的子问题最优策略可以描述为:d(i,j)表示的坐标i,j处最优解, 那么自然可分为的两种情况:
1.i==n时,d[i][j]=a[i][j]
2.i
所以递归有很多时候和DP非常像,我们通过记忆优化后效率就和DP差不多了,这时候也叫动归.
至于递推,如字面的意思,是一种由当前状态往上推出自己需要的状态的思想.
建议如果想要理解的话可以用三种方法 做一下求斐波那契数列第n项 来好好体会下.
DP 简单来说 就是分解问题的过程,用局部最优来计算整体最优 ,两者由状态转移方程联系;
状态转移方程一定要有;
局部最优的结果不一定是整体最优 ,但整体最优可以通过状态转移方程确定最优解;
DP就是一种基本的编程思想