POJ 2479 不相交最大子段和】的更多相关文章

题目意思还是很好理解的,在一个数列中,找出不相交的两个子串使得其和最大. 解题思路: 对于每个i来说,求出[0 ~ i - 1] 的最大子段和以及[i ~ n - 1]的最大子段和,在加起来,求最大的一个就行了. [0 ~ i - 1]的最大子段和从左向右扫描,[i ~ n - 1] 的最大子段和从右向左扫描即可.时间复杂度为 O(n) source code: //#pragma comment(linker, "/STACK:16777216") //for c++ Compile…
题目链接:http://poj.org/problem?id=2479 解题报告: 1.再求left[i]的时候,先没有考虑a[i]的正负,先把a[i]放到left[i]中,然后left=max(left[i-1],left[i]); 2.res=max(res,left[i-1]+right[i]); #include <stdio.h> #include <algorithm> using namespace std; #define MAX 50005 int a[MAX];…
Maximum sum Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 30704   Accepted: 9408 Description Given a set of n integers: A={a1, a2,..., an}, we define a function d(A) as below: Your task is to calculate d(A). Input The input consists of…
---恢复内容开始--- http://poj.org/problem?id=2479 #include <stdio.h> #include <iostream> using namespace std; ],righ[]; int main() { ]; scanf("%d",&t); while(t--) { scanf("%d",&n); ;i<n;i++) scanf("%d",&a…
求一个区间内连续两段不相交区间最大和. // File Name: 2479.cpp // Author: Missa_Chen // Created Time: 2013年06月22日 星期六 16时19分02秒 #include <iostream> #include <string> #include <algorithm> #include <cstdio> #include <cstring> #include <cmath>…
题目链接:http://poj.org/problem?id=2479 #include<cstdio> #include<cstring> #include<iostream> #include<algorithm> using namespace std; ; const int INF = 0x3f3f3f3f; int dp1[maxn]; int dp2[maxn]; int a[maxn]; int N; int main() { int T;…
Maximum sum Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 40596   Accepted: 12663 Description Given a set of n integers: A={a1, a2,..., an}, we define a function d(A) as below: Your task is to calculate d(A). Input The input consists o…
依然是学习分析方法的一道题 求一个长度为n的序列中的一个平均值最大且长度不小于L的子段,输出最大平均值 最值问题可二分,从而转变为判定性问题:是否存在长度大于等于L且平均值大于等于mid的字段和 每个数与mid作差再转变为求非负子段 子段和问题应该利用前缀和C,长度大于等于L的字段和最大值可表示为 max{Aj+1 + Aj+2 ... + Ai},i-j+1-1>=L,j+1>=1 等价于 max{Ci-min{Cj}},L<=i<=n,0<=j<=i-L 注意是i=…
题意:给一段数列,将这个数列分成两部分,使两部分的最大子段和的和最大,输出和 /* 看数据没想到是(O)n的算法,求出从前向后的最大子段和和从后向前的最大子段和, 然后枚举断点. 第一次提交不小心折在数组最小值的赋值上-- */ #include<cstdio> #include<iostream> #include<cstring> #define M 50010 #define INF 1000000000 using namespace std; int a[M]…
Given a two-dimensional array of positive and negative integers, a sub-rectangle is any contiguous sub-array of size 1*1 or greater located within the whole array. The sum of a rectangle is the sum of all the elements in that rectangle. In this probl…