Sep 26, 2010

连续子序列最大和

问题:给定一个整数序列(包含负数),求其连续子序列的最大和
比如 -1 8 -2 5 -3 -1 2
最大和为子序列 8 -2 5 之和 11

使用动态规划,不过本例中,动态规划使用了不同的子问题:
求序列
x0,...,xk 的最大后缀子序列的和 Dk (给定k)
Dk 有递归的解

最大和连续子序列,必定为某一个最大后缀子序列。
可以反正之,如果不是的话,假设 xi...xj 为最大和连续子序列,和为 Cj;
则存在下标j的最大后缀子序列,Dj > Cj,这和 Cj 是最大和相悖。

参考

0 comments: