int LCS(char *a,char *b) { if(a==NULL || b==NULL) return 0; int len_a = strlen(a); int len_b = strlen(b); int f[M][N]; for(int i=1;i f[i-1][j] ? f[i][... ...
分类:
其他好文 时间:
2018-11-24 20:59:05
阅读次数:
144
这个算法跟LCS 差不多 偷笑 LCS算法链接:https://www.cnblogs.com/wangshengjun/p/LCS.html 这里的f i j 是由 F[i-1[j-1] +1 转移过来的 因为要特判,只要两个串不相等直接等于0。 如果 把 a 串 看成字符数组 s1[], b 串 ...
分类:
其他好文 时间:
2018-11-24 14:28:23
阅读次数:
188
LCS Longest Common Substring Description 给两个长度$\le 250000$的小写字母串, 求最长公共子串. Solution 子串就是SAM了. 对其中一个建出SAM, 另一个在上面跑, 如果可以转移, 就直接转移, 长度加一, 否则跳父亲到可以转移, 自然 ...
分类:
其他好文 时间:
2018-11-22 00:31:01
阅读次数:
251
最长公共子串问题: 给定两个字符串,求出它们之间最长的相同子字符串的长度。 暴力解法思路: 1.以两个字符串的每个字符为开头,往后比较,这样就会需要两层循环 2.两层循环内部的比较方式,也是一层循环,以当前字符为起点,往后遍历比较,直到有不同就跳出这次循环,记录下相同子字符串的长度 3.以最长的那次... ...
分类:
编程语言 时间:
2018-10-18 01:21:05
阅读次数:
177
题意:给出s,t两个字符串,求最长公共子串的长度 思路:首先二分答案x,预处理出s中长度为x的子串哈希值并排序,在t中枚举起点,二分查找t[i...i+x]的哈希值 二分查找直接用binary_search()函数 复杂度其实是nlog方 ...
分类:
其他好文 时间:
2018-10-01 01:10:48
阅读次数:
177
后缀数组 代码 注意由于h数组的定义,我们需要标记为 的部分。 最长公共子串问题 ( "hiho1415" ) 将两个子串拼接起来,用 分隔,那么两个串的最长公共子串就是保证 和`sa[i 1] h[i]`。 连续重复次数最多的子串 ( "hiho1419" ) 枚举子串长度 和重复起点 ,计算重复 ...
分类:
编程语言 时间:
2018-09-02 18:45:56
阅读次数:
167
要求:求两个字符串的最长公共子串,如“abcdefg”和“adefgwgeweg”的最长公共子串为“defg”(子串必须是连续的) 总觉得这题,输出结果和题意不相符合,结果2,是不是把B序列翻转,求出两者最长公共子串 ...
分类:
编程语言 时间:
2018-08-28 00:46:41
阅读次数:
214
题意:给你n个字符串,问你这n个串的最长公共子串 解题思路:暴力枚举任意一个字符串的所有子串,然后暴力匹配,和hdu1238差不多的思路吧,这里用string解决的; 代码: ...
分类:
其他好文 时间:
2018-08-17 23:38:21
阅读次数:
218
Palindrome 题意: 求给定字符串的最长回文子串。 分析: 首先想到的是求str与反序的str的最大公共子串,考虑abcdba这种情况,所以对于求出的公共子串判断一下是否是回文串即可。还有一种做法是枚举每一个字符为回文串的中间点,求出这个字符的后缀与前缀的最长公共子串就是回文串。对于前缀可以 ...
分类:
其他好文 时间:
2018-08-10 23:06:15
阅读次数:
224