先要搞明白:最长公共子串和最长公共子序列的区别。 最长公共子串(Longest Common Substirng):连续 最长公共子序列(Longest Common Subsequence,LCS):不必连续 实在是汗颜,网上做一道题半天没进展: 给定一个字符串s,你可以从中删除一些字符,使得剩下 ...
分类:
其他好文 时间:
2016-08-05 00:57:05
阅读次数:
134
5783.Divide the Sequence 题意:给出一段序列,尽可能多得分割序列使得每段前缀和非负。 分析:既然前缀和非负,那么从后往前遍历,若非负则++。 5791.Two 题意:给出两个数字序列,求两个序列的公共子序列的个数(可重复) 分析:可dp,可用树状数组做。 先给出dp方程,再解 ...
分类:
其他好文 时间:
2016-08-03 22:09:58
阅读次数:
170
1、背包问题。0/1背包、完全背包、多重背包、分组背包、依赖背包。 2、子序列。最长非上升/下降子序列、最长先上升再下降子序列、最长公共子序列、最大连续子区间和。 3、最大子矩阵。 4、区间dp。 5、环形dp。 6、树形dp。 7、最少线段覆盖(codevs1214) ...
分类:
其他好文 时间:
2016-08-03 18:42:59
阅读次数:
306
一.问题描述 如果字符串一的所有字符按其在字符串中的顺序出现在另外一个字符串二中,则字符串一称之为字符串二的子串。 注意,并不要求子串(字符串一)的字符必须连续出现在字符串二中。二.最长公共子序列的结构 最长公共子序列的结构有如下表示: 设序列X=<x1, x2, …, xm>和Y=<y1, y2, ...
分类:
编程语言 时间:
2016-07-30 18:05:19
阅读次数:
159
bzoj2423[HAOI2010]最长公共子序列 题意: 求两个字符串的最长公共子序列长度和个数。 题解: dp,设f[i][j]表示x串i位到末位,y串j位到末位的最长长度,g[i][j]表示x串i位到末位,y串j位到末位的最长长度的个数,方程: x[i]==y[j]:f[i][j]=f[i+1 ...
分类:
其他好文 时间:
2016-07-22 22:51:57
阅读次数:
291
http://acm.hdu.edu.cn/showproblem.php?pid=1423 1 #include<stdio.h> 2 #include<string.h> 3 int a[510],b[510]; 4 int dp[510]; 5 int main() 6 { 7 int t,m ...
分类:
其他好文 时间:
2016-07-21 17:41:11
阅读次数:
143
问题描述:问题】 求两字符序列的最长公共字符子序列注意:并不要求子串(字符串一)的字符必须连续出现在字符串二中。思路分析:最优子结构和重叠子问题的性质都具有,所以要采取动态规划的算法最长公共子序列的结构设序列X=其中Xm-1=子问题的递归结构由最长公共子序列问题的最优子结构性质可知,要找出X=由此递归结构容易看到最长公共子序列问题具有子问题重叠性质。例如,在计算X和Y的最长公共子序列时,可能要计算出...
分类:
其他好文 时间:
2016-07-19 11:04:21
阅读次数:
159
也是DP入门题,紫书第九章 这里讲得很清晰: http://www.cnblogs.com/xudong-bupt/archive/2013/03/15/2959039.html 模板: ...
分类:
其他好文 时间:
2016-07-12 06:43:57
阅读次数:
194
题目链接: http://acm.xmu.edu.cn/JudgeOnline/problem.php?id=1030 题目大意: 给定两个字符串的长度和内容,求最长公共子序列。 题目思路: 【动态规划】 求最长公共子序列。f[i][j]表示第一个串匹配到i,第二个串匹配到j的最长长度。 1 // ...
分类:
其他好文 时间:
2016-07-07 17:24:08
阅读次数:
130