模板:#include#include#includeusing namespace std;#define MAX(a,b) (a>b)?a:bconst int SIZE=1000000+16;const int INF=0x30303030;int a[SIZE];int dp[SIZE];i...
分类:
其他好文 时间:
2015-07-31 20:10:52
阅读次数:
107
最大子段和for(int i = 1; i <= n; i++)dp[i] = max(dp[i - 1] + a[i], a[i]);*******************************************************************************最大子...
分类:
其他好文 时间:
2015-07-31 14:47:28
阅读次数:
104
题意:给一个array,有两种操作,(1)修改某一个位置的值,(2)询问区间[L,R]内的最大子段和,其中子段需满足相邻两个数的位置的奇偶性不同思路:假设对于询问操作没有奇偶性的限制,那么记录区间的最大子段和就可以通过合并区间得到答案了。加上奇偶性的限制后,记录的信息必须更加具体,需要把子段的端点的...
分类:
其他好文 时间:
2015-07-28 20:56:23
阅读次数:
107
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5280题意:将一个长度为n的数组,将里面某一个数改为p,使改变后最大子段和最大。题解:dp[i]=max(dp[i-1)+a[i],a[i]),表示以第 i 个数结束的最大子段和,时间复杂度为O(n)。1...
分类:
其他好文 时间:
2015-07-24 22:13:17
阅读次数:
109
最大子段和经典问题的扩展。题目链接:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1052N个整数组成的序列a[1],a[2],a[3],…,a[n],将这N个数划分为互不相交的M个子段,并且这M个子段的和是最大的。如果M...
分类:
其他好文 时间:
2015-07-21 21:51:16
阅读次数:
108
实在是太颓废了,所以开始写点东西吧。。。。最大子段和: 给定N个数(可能为负整数)组成的序列a1...an,求该序列形如∑ak(i0时,b[j] = b[j-1]+a[j]否则b[j] = a[j];由此得出递推式b[j] = max(b[j-1]+a[j],a[j]) (10) b += a[i]...
分类:
其他好文 时间:
2015-07-12 15:38:23
阅读次数:
194
我们知道,求一段序列的最大子段和是O(n)的,但是这样是显然会超时的。我们需要一个数据结构来支持修改和计算的操作,对于这种修改一个而查询区间的问题,考虑使用线段树。在线段树中,除了左端点,右端点,左儿子指针,右儿子指针之外,新开4个域——max,maxl,maxr,sum,其中sum为该区间的和,m...
分类:
其他好文 时间:
2015-07-07 22:40:14
阅读次数:
799
Problem Description娜娜好不容易才在你的帮助下"跳"过了这个湖,果然车到山前必有路,大战之后必有回复,大难不死,必有后福!现在在娜娜面前的就是好多好多的糖果还有一些黑不溜秋的东西!不过娜娜眼中只有吃不完的糖果!娜娜高兴地快要蹦起来了!这时有一位挥着翅膀的女孩(天使?鸟人?)飞过来,...
分类:
其他好文 时间:
2015-06-26 19:48:14
阅读次数:
120
还是像以前那样维护下次出现位置,计算影响其实不难,思维盲点,受到做最大子段和的影响其实这里可以直接维护当前每个位置的子段和,再记录一个历史最大和当然tag也需要记录当前tag和历史(距离上次push)最大累加 1 type node=record 2 x,y,id:longint;...
分类:
其他好文 时间:
2015-06-20 19:35:18
阅读次数:
105
给定由n个整数(包含负整数)组成的序列a1,a2,...,an,求该序列子段和的最大值。当所有整数均为负值时定义其最大子段和为0。例如,当(a1,a2, ……a7,a8)=(1,-3, 7,8,-4,12, -10,6)时,最大子段和为:23bj是1到j位置的最大子段和: a1a2…ai…aj…a....
分类:
其他好文 时间:
2015-06-15 18:30:07
阅读次数:
88