动态规划题解总结
dynamic programming即动态表格法,programming这里指表格法。
dp解法方向通常由两种 1.自底向上 2.自顶向下。一般采取自底向上的解法。
dp解法步骤(算法导论):
1.刻画一个最优解的结构特征。
2.递归地定义最优解的值。
3.计算最优解的值,通常采用自底向上的方法。
4.利用计算出的信息构造一个最优解。
dp解题思维与解法:
需要建立状态思维、时间序列思维,即每个dp位置是一个时间点也是一个状态。需要将问题归纳到状态变化上,此刻的状态一定与前一时刻或前某几个时刻相关。
对于当前状态的刻画,必须勇于进行分类讨论(多维数组),大胆假设当前状态。在此基础之上进行归纳,此时刻状态与前面时刻状态的关系!
例:买卖股票的最佳时机
https://www.cnblogs.com/ygtzds/p/14961261.html
1.刻画当前状态的求解方程。(状态转移方程)
2.确定初始状态的取值。
3.递归、遍历计算最优解的取值。