//hdu3415 Max Sum of Max-K-sub-sequence //单调队列 //首先想到了预处理出前缀和利用s[i] - s[j]表示(j,i]段的和 //之后的问题就转换成了求一个最小的s[j]了,这样就能够单调队列 //求最小值。 //队列中维护的是区间的開始的位置j。我们插入 ...
分类:
其他好文 时间:
2017-04-22 19:47:23
阅读次数:
133
Max Sum of Max-K-sub-sequence Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64u Submit Status Practice HDU 3415 Max Sum of Max-K-su ...
分类:
其他好文 时间:
2016-07-11 22:35:14
阅读次数:
272
感觉很不顺利,调了至少半个小时才调出来。原因是开头出的需要处理,i&&...如果缺了i&&,如果有数值是负数就会出错,第53行那里缺了+1,也是一直bug=>1.每一个细节都要处理好,一个以为可以忽略的细节往往是关键;2.出错了要耐心一步一步分析,中间输出看哪里错了,再耐心修改,即使废时间也要,不然...
分类:
其他好文 时间:
2015-12-01 23:02:20
阅读次数:
188
题意:给一串数,求解最大连续子序列和。
思路:和HDU1003一样,增加了两个条件,所取的区间长度必须在K范围内,另外这是一个循环数组,所以考虑可以用单调队列来做,另外可以直接循环数组操作,和1003差不多。
#include
#include
#include
#define N 200050
using namespace std;
int S[N],q[N];
int MA...
分类:
其他好文 时间:
2015-08-02 16:55:32
阅读次数:
123
//hdu3415 Max Sum of Max-K-sub-sequence
//单调队列
//首先想到了预处理出前缀和利用s[i] - s[j]表示(j,i]段的和
//之后的问题就转换成了求一个最小的s[j]了,这样就可以单调队列
//求最小值。
//队列中维护的是区间的开始的位置j,我们插入队列中的是j-1,因为
//这个时候s[i] - s[j-1]刚好就是[j,i]段闭区间的和
/...
分类:
其他好文 时间:
2015-07-23 11:57:53
阅读次数:
130
题目大意:给出一个有N个数字(-1000..1000,N<=10^5)的环状序列,找出一个长度不大于k的连续子序列,使其和最大。分析:我们可以将环状序列从某处切开,变成一行,然后复制前n-1个数字到后面,得到一个2*n-1的序列。问题即转换为在该2*n-1的序列中求长度不超过k的最大连续字段和。预处...
分类:
其他好文 时间:
2015-06-18 10:57:42
阅读次数:
93
HDU3415 Max Sum of Max-K-sub-sequence (DP+单调队列)...
分类:
其他好文 时间:
2014-12-16 17:04:56
阅读次数:
162
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3415题意:一个长度为n包含正负整数的数环,即第1个的左边是第n个。从中选一个不超过k的序列,使得序列和最大,最大值相同选开始点最小的,开始点相同选长度最小的。分析:单调队列维护在k个数之内的最小值的下标...
分类:
其他好文 时间:
2014-12-12 22:05:47
阅读次数:
231
Max Sum of Max-K-sub-sequence
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 6130 Accepted Submission(s): 2234
Problem Description
...
分类:
其他好文 时间:
2014-12-04 17:59:30
阅读次数:
271
题目大意:给定长度为n的数组,求出最大的区间和,其中区间长度在[1,k]之间分析:学动态规划的时候我们会遇到一个经典问题最大子段和,这个题跟最大子段和很类似 不同的是区间的长度有限制,无法用原算法解决转换思路区间[i,j]的和就是ans=sum(j)-sum(i-1) ( j - i #includ...
分类:
其他好文 时间:
2014-10-24 20:28:07
阅读次数:
233