一.思路:从终点向前看,依次算出最优的子问题,依次向前推,到起点返回,得出最优解。
二.判定:1.问题是否有最优子结构性质,即:全局是否包含局部最优。
2.状态的无后效性 一句话:过去与未来无关
状态量->问题阶段最优解的变量形式
三.基本解题步骤
1.设“状态量”
2.划分阶段
3.建立状态转移方程 即:由上阶段推出现阶段的计算公式
4.判定:最优子结构
5.求解:①最优值
②构造最优解
动态规划解题模式:
for(/*阶段*/i=1;i<=n/*假设有n个阶段*/;i++)
for(/*状态*/j=1;j<=m;j++)
for(/*决策*/k=1;k<=d;k++)/*根据题意,有时可删减此句*/{
状态转移;
if(新状态更优)
更新最优信息;
}