这题想到贪心的方法不难 看看样例就想到了. 如果要证明还是要思考一番. 证明的关键思想在于采用反证法证明简单情况 用数学归纳推广到任意情况.
在所有能移动到第一行的备选行当中 选择花费最低的. 然后用同样的方法处理第二行 第三行 第N行.
因为多组数据 忘了memset数组 WA了好久.
所以我觉得考虑递归边界是否整齐是一个好的判断是否能转化为dp的一个好方法. 而对dp的状态进行定义是一个关键步骤 决定了递归边界是如何界定的.
dp[i][j] : 将从A[i]号到B[i]号的囚犯(不含这两个)的连续部分的所有囚犯都释放的时候 所需要的最少金币总数.
从叶子节点向上延伸一层的时候 就是状态转移方程要写出的意思: