[洛谷P2642]双子序列最大和
2017-10-19 09:27
183 查看
题目←
这种题还交上那么多遍大概我确实是菜……
甚至一开始读的题意都是错的……但是拿错的题意打还过了样例了……真是……
Tips:
读清题目
交之前先检查一遍代码
这种题还交上那么多遍大概我确实是菜……
甚至一开始读的题意都是错的……但是拿错的题意打还过了样例了……真是……
#include<iostream> #include<cstdio> #include<algorithm> #define LL long long #define INF 2147483647 using namespace std; const int MAXN = 1000000 + 50; LL v[MAXN],minx[MAXN],ans = -INF,w[MAXN],hminx[MAXN]; int n,a[MAXN]; LL sum1[MAXN],sum2[MAXN]; int main(){ scanf("%d",&n); for(int i = 1;i <= n;i ++){ scanf("%d",&a[i]); v[i] = v[i - 1] + a[i]; minx[i] = min(minx[i - 1],v[i]); } sum1[1] = v[1]; for(int i = 1;i <= n;i ++){ if(i != 1)sum1[i] = max(sum1[i - 1],v[i] - minx[i - 1]); w[n - i + 1] = w[n - i + 1 + 1] + a[n - i + 1]; hminx[n - i + 1] = min(hminx[n - i + 1 + 1],w[n - i + 1]); } sum2 = w ; for(int i = n - 1;i >= 1;i --){ sum2[i] = max(sum2[i + 1],w[i] - hminx[i + 1]); } for(int i = 2;i < n;i ++){ ans = max(ans,sum1[i - 1] + sum2[i + 1]); } printf("%lld",ans); return 0; }
Tips:
读清题目
交之前先检查一遍代码
相关文章推荐
- poj-2479求最大子序列和(双子序列…
- 简单DP【p2642】双子序列最大和
- OpenJudge_P1481 Maximum sum(最大双子序列和)
- POJ 2479 + POJ 2593(DP 最大双子序列 ^_^)
- [Luogu 2642] 双子序列最大和
- P2642 双子序列最大和
- 最大连续子序列和
- HDU 1231 最大连续子序列
- bzoj 1562: [NOI2009]变换序列 二分图最大匹配
- HDU 2845 Beans(最大不连续子序列和 dp)
- 最大的子序列和问题
- 最大连续子序列和
- hdoj_1231&&hdoj_1003最大连续子序列
- 分治法之求最大连续子序列和
- hdu 1231 最大连续子序列
- 序列最大和分割、最大距离、滑动窗口最大值问题
- c实现 求一个数组中最大子序列的和 (两种方法)
- lintcode乘积最大子序列(动态规划)
- 最大子序列和的四种不同复杂度实现
- HDU-1081 To The Max 二维最大子序列和