spoj1811 给两个长度小于100000的字符串 A 和 B,求出他们的最长公共连续子串。 先将串 A 构造为 SAM ,然后用 B 按如下规则去跑自动机。用一个变量 lcs 记录当前的最长公共子串,初始化为0。设当前状态结点为 p,要匹配的字符为 c,若 go[c] 中有边,说明能够转移状态, ...
分类:
其他好文 时间:
2016-09-03 09:40:27
阅读次数:
168
题目链接:http://acm.split.hdu.edu.cn/showproblem.php?pid=5863 题意: 题目大概说用k个不同的字母,有多少种方法构造出两个长度n最长公共子串长度为m的字符串。 思路 n的规模达到了10亿,而且又是方案数,自然就想到构造矩阵用快速幂解决。 考虑用DP ...
分类:
其他好文 时间:
2016-08-21 21:06:00
阅读次数:
245
Common Substrings Time Limit: 5000MS Memory Limit: 65536K Total Submissions: 10002 Accepted: 3302 Description A substring of a string T is defined as: ...
分类:
其他好文 时间:
2016-08-18 23:29:03
阅读次数:
229
题目大概说用k个不同的字母,有多少种方法构造出两个长度n最长公共子串长度为m的字符串。 ...
分类:
其他好文 时间:
2016-08-18 19:48:10
阅读次数:
129
Long Long Message Time Limit: 4000MS Memory Limit: 131072K Total Submissions: 27062 Accepted: 11010 Case Time Limit: 1000MS Description The little cat ...
分类:
其他好文 时间:
2016-08-17 23:01:21
阅读次数:
203
题目链接:http://poj.org/problem?id=2774 题意:给定两个只含小写字母的字符串,求字符串的最长公共子串长度。 思路:根据<<后缀数组——处理字符串的有力工具>>的思路,字符串的任何一个子串都是这个字符串的某个后缀的前缀 。求 A和 B的最长公共子串等价于求 A的后缀和 B ...
分类:
编程语言 时间:
2016-08-12 18:18:47
阅读次数:
173
【题目大意】 给定n个数和两个长度为n*5的序列,两个序列中的数均有1..n组成,且1..n中每个数恰好出现5次,求两个序列的LCS。 【思路】 预处理每个数字在a[i]中出现的五个位置。f[i]示以a[i]为末尾的最长公共子串(*这样就可以避免讨论交叉)。 依次处理b[i],对于每个b[i]找到a ...
分类:
编程语言 时间:
2016-08-09 12:09:09
阅读次数:
230
题目链接:hdu_2328_Corporate Identity 题意: 给你n个串,让你找这n个串的最大公共子串 题解: 串比较小,暴力枚举第一个的子串,然后KMP判断是否可行 1 #include<cstdio> 2 #include<cstring> 3 #define F(i,a,b) fo ...
分类:
其他好文 时间:
2016-08-09 00:11:22
阅读次数:
271
【题目大意】 求两个字符串的最长公共子串。 【思路】 对第一个字符串建立后缀自动机,第二个字符串去匹配。cnt记录当前最长公共子串的长度,而ret记录答案。 p代表位置指针,初始在rt位置。 对于第二个字符串的某一位s[i],如果当前有s[i]孩子,则cnt+1,继续往后移动;否则沿着pre指针返回 ...
分类:
其他好文 时间:
2016-08-06 12:51:43
阅读次数:
156
先要搞明白:最长公共子串和最长公共子序列的区别。 最长公共子串(Longest Common Substirng):连续 最长公共子序列(Longest Common Subsequence,LCS):不必连续 实在是汗颜,网上做一道题半天没进展: 给定一个字符串s,你可以从中删除一些字符,使得剩下 ...
分类:
其他好文 时间:
2016-08-05 00:57:05
阅读次数:
134