摘花生问题

https://www.acwing.com/problem/content/1017/
摘花生问题_第1张图片

求左上走到右下的最大价值。

思路

状态表示:从起点走到某点的所有方案的最大价值。

因为是左上走到右下所以状态转移为两个方向走过来的最大值。

实现

目标状态为终点的状态。

起始状态:起点。

因为递推只用到了两层状态,所以可以压缩状态数组,进而可以优化为一维状态。

滚动数组:j循环一遍,状态数组就更新一遍,可以把它看作是滚动更新的。

优化代码

你可能感兴趣的:(动态规划)