本篇博文提供了实现求解所有最长公共子序列的程序实现,并提供输出所有公共子序列的方法解释,需要具备基础知识是求解一个公共子序列的动态规划方法,请自行查阅相关资料。...
分类:
其他好文 时间:
2014-07-29 21:52:04
阅读次数:
441
Common Subsequence
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 23108 Accepted Submission(s): 10149
Problem Description
A sub...
分类:
其他好文 时间:
2014-07-29 17:51:27
阅读次数:
286
#include
int n,a[100005];
int main()
{
int i,j,h;
bool bo=true;
scanf("%d",&n);
for (i=0;i<n;i++)scanf("%d",&a[i]);
i=0;
while (a[i]<=a[i+1]&&i<n-1) i++;...
分类:
其他好文 时间:
2014-07-29 14:50:28
阅读次数:
198
引言子序列和子字符串或者连续子集的不同之处在于,子序列不需要是原序列上连续的值。对于子序列的题目,大多数需要用到DP的思想,因此,状态转移是关键。这里摘录两个常见子序列问题及其解法。例题1, 最长公共子序列我们知道最长公共子串的求法,先温习一下,它的求法也是使用DP思想,对于 字符串s1 和字符串s...
分类:
其他好文 时间:
2014-07-29 13:58:08
阅读次数:
255
UVA 1400 - "Ray, Pass me the dishes!"
题目链接
题意:给定一个序列,每次询问一个[L,R]区间,求出这个区间的最大连续子序列和
思路:线段树,每个节点维护3个值,最大连续子序列,最大连续前缀序列,最大连续后缀序列,那么每次pushup的时候,根据这3个序列去拼凑得到新的一个结点即可
代码:
#include
#include
...
分类:
其他好文 时间:
2014-07-29 13:22:57
阅读次数:
223
最长上升子序列。做这道题之前先做了2533,再看这道题,感觉两道题就一模一样,于是用2533的代码直接交, TLE了;回头一看,数据范围。2533 N:0~1000;3903 N :1~100000。原因终归于算法时间复杂度。也借这道题学习了nlgn的最长上升子序列。(学习链接:http://blo...
分类:
其他好文 时间:
2014-07-28 21:26:44
阅读次数:
275
题目大意:
在一个序列上每次修改一个值,然后求出它的最大的子序列和。
思路分析:
首先我们不考虑不成环的问题。那就是直接求每个区间的最大值就好了。
但是此处成环,那么看一下下面样例。
5
1 -2 -3 4 5
那么你会发现 max = sum - min
也就是和减去最小区间和也可以得到。
所以我们最后要得到的就是两个东西。注意题目中说的不能全部取得。所以还要判断...
分类:
其他好文 时间:
2014-07-28 16:24:13
阅读次数:
244
题目:给你两个字符串,求一个最短的串,使得这两个串是目标串的子串。
分析:DP,最大公共子序列。最长目标串的长度为两串和减去最大公共子序列。
最长目标串的数量就是所有长度相同的情况的数量加和(路径的加和)
状态f(i,j)为串str1的前i个字符...
分类:
其他好文 时间:
2014-07-28 16:23:13
阅读次数:
390
两种方法:
第一种:将总数一半当做背包,用总数-2*最多能装的数目就是所求;
第二种:深搜;
zb的生日
时间限制:3000 ms | 内存限制:65535 KB
难度:2
描述今天是阴历七月初五,acm队员zb的生日。zb正在和C小加、never在武汉集训。他想给这两位兄弟买点什么庆祝生日,经过调查,zb发现C小加和never都很喜欢吃西瓜,而且一...
分类:
其他好文 时间:
2014-07-27 23:37:39
阅读次数:
218
用两种常见的判别收敛的方法判断一个递归数列的收敛性。常见的判别法有:数列单调且有界则收敛;在实数域中该数列是柯西数列(也叫基本序列)则收敛;奇偶子序列均收敛且极限相等则数列收敛(可以推广到任意固定间隔的子序列均收敛且极限相等则数列收敛)。最后从该极限延伸到压缩原理。
分类:
其他好文 时间:
2014-07-27 21:52:49
阅读次数:
272