POJ 2593 Max Sequence 解题报告

该博客详细介绍了POJ 2593问题的解决方法,主要目标是找到序列中某个点,使得其左侧最大连续子序列和与右侧最大连续子序列和之和最大化。解题策略是利用O(n)时间复杂度的算法,动态维护序列的连续子序列和,判断每个数前后的子序列贡献。

POJ 2593 Max Sequence 解题报告

题意:

有一个数字序列,求以某个数为中点,其左边的最大连续子序列和加其右边的最大连续子序列和的最大值,即:

                                                                                                                

思路:

     很容易想到那熟悉的最大连续子序列和,这道题其实就是对于每个序列中的数,分别求其左右两边序列的最大连续子序列和。

     很清晰的,求最大连续子序列和的O(n)的算法是,从左往右扫描,如果前面的和小于0,说明前面的是负影响,从当前值重新开始记,如果前面的和大于等于0,说明是正影响,继续加。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值