POJ 2479

输入:
1 -1 2 2 3 -3 4 -4 5 -5

思路:
这是一个动态规划的问题,满足DP的两个条件:重叠子问题和最优子结构。
采用自底向上的设计策略,先从左至右计算出每个段的最大子序列和a[i],再反过来,从右至左计算每个段的最大子序列和b[i],最后遍历每个段,求出a[i]+b[i]的最大值,即为最后所求值。

代码:

结果:
最开始的算法用了O(N^2)的时间复杂度,导致Time Limit Exceeded;后来改进了,时间复杂度降为O(N),但提交到POJ出现了Wrong Answer。不知何故,以待研究。

借鉴一下别人的Accepted的代码:
http://fghtech.blogbus.com/logs/62555535.html
在此对博主表示感谢。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值