【题意】给两个小写字母串A,B,请你计算: (1) A的一个最短的子串,它不是B的子串 (2) A的一个最短的子串,它不是B的子序列 (3) A的一个最短的子序列,它不是B的子串 (4) A的一个最短的子序列,它不是B的子序列 不存在输出-1,1<=len(A),len(B)<=2000。 【算法】 ...
分类:
其他好文 时间:
2018-01-04 13:07:12
阅读次数:
201
这个题中有个方法是求两个字符串的最大公共子串的长度,动态规划,一定记住:根据当前位置两个字符是不是相同,做不同的处理。 ...
分类:
其他好文 时间:
2018-01-04 00:28:05
阅读次数:
161
给出两个字符串,找到最长公共子串,并返回其长度。 样例 给出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
题目大意: 求两个字符串的长度大于k的公共子串的个数(可以相同) 基本思路: 后缀数组+单调栈,就是降低复杂度到O(n); 代码如下: ...
分类:
编程语言 时间:
2017-12-07 21:12:00
阅读次数:
161
问两个串的最长公共子串,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
网上找来的实现,具体的原理: 给你两个字符串,你需要回答,B串是否是A串的子串(A串是否包含B串)。比如,字符串A="I'm matrix67",字符串B="matrix",我们就说B是A的子串。你可以委婉地问你的MM:“假如你要向你喜欢的人表白的话,我的名字是你的告白语中的子串吗?” 解决这类问题 ...
分类:
其他好文 时间:
2017-10-08 14:45:08
阅读次数:
182
http://poj.org/problem?id=3415 题意:求长度不小于K的公共子串的个数。 思路:好题!!!拉丁字母让我Wa了好久!!单调栈又让我理解了好久!!太弱啊!! 最简单的就是暴力枚举,算出LCP,那么这个LCP对答案的贡献就是$x-k+1$。 我们可以将height进行分组,大于 ...
分类:
编程语言 时间:
2017-10-03 12:40:31
阅读次数:
141
Common Substrings Time Limit: 5000MS Memory Limit: 65536K Total Submissions: 11469 Accepted: 3796 Description A substring of a string T is defined as: ...
分类:
编程语言 时间:
2017-10-02 12:43:09
阅读次数:
227