简单动态规划解题思路

1, 动态规划的解题思路:首先判断问题是否具有最优子结构和无后效性,是否应用动态规划。然后提取问题的状态,比如POJ2385,状态有时间,步数,而由这两个状态所确定的苹果树是唯一确定的,好比映射,多元函数。同时,时间和步数这两个状态也有差别,时间是一个不受人的选择影响的均匀流逝的变量。
强调内容以时间为外重循环,因为一个时间对应唯一位置,而同一位置可以对应不同时间。
Dp[i][j] = max(dp[i-1][j],dp[i-1][j-1]),在加上一个判断的增量1,因为第i秒的状态是由第i-1秒的状态转移过来的,dp[i-1][j]或者dp[i-1][j-1]这两个子状态。
确定状态转移方程之后,就要确定初始条件,要确定所有可以直接确定的初始条件,也就是状态转移方程的迭代的所需要的初始条件。
最后,要注意边界的特殊处理。

猜你喜欢

转载自blog.csdn.net/pythonbanana/article/details/81435795
今日推荐