【SPOJ】Longest Common Substring II (后缀自动机) 题面 "Vjudge" 题意:求若干个串的最长公共子串 题解 对于某一个串构建$SAM$ 每个串依次进行匹配 同时记录$f[i]$表示走到了$i$节点 能够匹配上的最长公共子串的长度 当然,每个串的$f[i]$可以更 ...
分类:
其他好文 时间:
2018-02-13 13:31:01
阅读次数:
115
"题目链接" Description 给出$n$个序列。找出这$n$个序列的最长 相同 子串。 在这里, 相同 定义为:两个子串长度相同且一个串的全部元素加上一个数就会变成另一个串。 思路 参考: "hzwer" . 法一:kmp 在第一个串中枚举答案串的开头位置,与其余$n 1$个串做$kmp$. ...
分类:
编程语言 时间:
2018-02-12 21:01:52
阅读次数:
192
一、最长公共子串(Longest Common Substring) 遍历的时候用一个二维数组存储相应位置的信息,如果两个子串1与子串2相应位置相等:则看各自前一个位置是否相等,相等则该位置值B[i][j]=B[i-1][j-1]+1,不相等则置为1。如果两个子串1与子串2相应位置不相等,则B[i] ...
分类:
其他好文 时间:
2018-01-25 19:50:22
阅读次数:
128
题面 "HiHocoder1415 " "Poj2774" Sol 都是求最长公共子串,$hihocoder$上讲的很清楚 把两个串拼在一起,中间用一个特殊字符隔开 那么答案就是排序后相邻两个不同串的后缀的$height$ 为什么呢? 如果答案为不相邻的两个后缀的前缀,计算它们最长前缀时必定要跨越过 ...
分类:
编程语言 时间:
2018-01-24 10:51:56
阅读次数:
151
3160 最长公共子串 时间限制: 2 s 空间限制: 128000 KB 题目等级 : 大师 Master 题解 查看运行结果 时间限制: 2 s 空间限制: 128000 KB 题目等级 : 大师 Master 时间限制: 2 s 空间限制: 128000 KB 题目等级 : 大师 Master ...
分类:
其他好文 时间:
2018-01-15 11:13:55
阅读次数:
123
2946: [Poi2000]公共串 Description 给出几个由小写字母构成的单词,求它们最长的公共子串的长度。 任务: l 读入单词 l 计算最长公共子串的长度 l 输出结果 给出几个由小写字母构成的单词,求它们最长的公共子串的长度。 任务: l 读入单词 l 计算最长公共子串的长度 l ...
分类:
其他好文 时间:
2018-01-08 21:41:10
阅读次数:
140
后缀数组。 解决多个字符串的最长公共子串。 采用对长度的二分,将子串按height分组,每次判断是否在每个字符串中都出现过。 复杂度O(NlogN) By:大奕哥 Ps:wa了好多遍,因为插进去的ascII码值没有选好,附一张ascII表。 ...
分类:
其他好文 时间:
2018-01-05 19:06:36
阅读次数:
236
给出两个字符串,找到最长公共子串,并返回其长度。 样例 给出A=“ABCD”,B=“CBCE”,返回 2 class Solution: """ @param: A: A string @param: B: A string @return: the length of the longest co ...
分类:
其他好文 时间:
2017-12-09 16:47:28
阅读次数:
175
问两个串的最长公共子串,n<=100000。 SAM可以直接搞当然SA哈希都可以。。类似于KMP的做法,如果沿parent边走要顺势修改匹配位置。 1 #include<stdio.h> 2 #include<string.h> 3 #include<algorithm> 4 #include<st ...
分类:
其他好文 时间:
2017-12-07 13:33:57
阅读次数:
178
题链: http://poj.org/problem?id=2774 题解: 求两个字符串(S,T)的最长公共子串。对 S串建后缀自动机。接下来就用这个自动机去求出能和 S串匹配的 T的每一个前缀的最长的后缀。最终答案就是对每个 T的前缀得到的答案取最大值就好了。 代码: #include #inc... ...
分类:
其他好文 时间:
2017-12-05 18:44:14
阅读次数:
126