动态规划步骤: 划分阶段;选择状态; 确定决策;写出状态转移方程;写出规划方程(包括边界条件)
下面是简单的例子。
状态: F[i][j]
状态转移方程:F[i][j] = a[i][j]+max(F[i+1][j], F[i+1][j+1])
边界条件:当i = n时,F[i][j] = a[i][j];
其中,F[i][j]表示状态,而我认为a[i][j]就是阶段,当前走到了a[i][j]的阶段,而做何决策,就看max函数的返回值了,而做完了这个决策,他的状态就会变成F[i][j].
总结 状态、阶段、决策 经过一系列组合 会组合成 状态转移方程.但是,这些东西并不是都显示出现的.所以,分清阶段、状态、决策是非常重要的。
再看看一些经典的动态规划例子,都有主演的规律。