求一个最大k连续的子序列和 单调队列#include#include#includeusing namespace std;int num[201000],id[201000],sum[201000];int main(){ int n,m,i,j,T; scanf("%d",&T);...
分类:
其他好文 时间:
2015-08-13 19:49:09
阅读次数:
189
题目传送门 1 /* 2 题意:求最大连续子序列和及两个端点 3 累积遍历算法 O(n):依照sum14 #include 15 #include 16 #include 17 #include 18 #include 19 #include 20 #include 21 #incl...
分类:
其他好文 时间:
2015-08-10 19:58:08
阅读次数:
109
题目传送门 1 /* 2 LPS(Longest Palidromic Subsequence):最长回文子序列,和回文串不同,子序列是可以不连续的。 3 转化为LCS问题,将字符串逆序,然后和本串求LCS就是LPS的长度(为啥不就是LPS?),但是前一半是LPS的一半,可以...
分类:
其他好文 时间:
2015-08-07 18:53:21
阅读次数:
190
求给定序列的最大连续子序列和。输入:第一行:n(ny then exit(x) else exit(y);end;begin readln(n); fillchar(f,sizeof(f),0); for i:=1 to n do read(a[i]); f[1]:=a[1]; for i...
分类:
其他好文 时间:
2015-08-07 00:04:35
阅读次数:
96
【问题描述】给定长度为n的正整数序列a1,a2,…,an。求一个递增的子序列,和最大。【输入】第一行,n,表示给定序列的个数。第二行,n个用空格隔开的正整数。【输出】递增子序列的最大和。【数据范围限制】ny then exit(x) else exit(y);end;begin readln(n)....
分类:
其他好文 时间:
2015-08-06 23:51:16
阅读次数:
184
题意:给一串数,求解最大连续子序列和。
思路:和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
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5316题意:给你n个点,m个操作,每次操作有3个整数t,a,b,t表示操作类型,当t=1时讲a点的值改成b;当t=0时,查询区间a,b之间最大的子序列和,这个子序列中的相邻的元素的原来的下标奇偶性都不同。思路:这道题难点就在查..
分类:
其他好文 时间:
2015-07-29 19:41:03
阅读次数:
108
LIS(最长递增子序列)和LCS(最长公共子序列)的总结最长公共子序列(LCS):O(n^2)两个for循环让两个字符串按位的匹配:i in range(1, len1) j in range(1, len2)s1[i - 1] == s2[j - 1], dp[i][j] = dp[i - 1][...
分类:
其他好文 时间:
2015-07-22 20:31:26
阅读次数:
112
先二分答案m, 然后对于原序列 A[i] = A[i] - m, 然后O(n)找最大连续子序列和, 那么此时序列由 L + mx + R组成. L + mx + R = sum - n * m, sum为原序列的和.假如二分的答案m是可行的, 那么 L + R = sum - n * m - mx ...
分类:
其他好文 时间:
2015-07-20 21:30:52
阅读次数:
804