随笔分类 - KMP
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2087题意:求模式串在主串中出现的次数,与模式串匹配的子串之间不可重叠。思路:用kmp算法解决,在匹配更新结果后,重新定位模式串时,不可用j = next[j],应该直接让j定位到模式串开头。code: ...
阅读全文
摘要:题目链接:http://poj.org/problem?id=2752题意:给你一个字符串,求出所有前缀后缀(既是前缀又是后缀的子串)的长度思路:首先整个字符串肯定既是前缀又是后缀,为最大的前缀后缀。假设next[len] = k,也即:s[1,k] = s[len-k+1,len]此时s[1,k]...
阅读全文
摘要:题目链接:http://poj.org/problem?id=3167题意:模式串可以浮动的模式匹配问题给出模式串的相对大小,需要找出模式串匹配次数和位置。思路:统计比当前数小,和于当前数相等的,然后进行kmp。比如说模式串:1,4,4,2,3,1 而主串:5,6,2,10,10,7,3,2,9,那...
阅读全文
摘要:题目链接:http://poj.org/problem?id=2406题意:确定字符串最多是多少个相同的字串重复连接而成的思路:关键是找到字符串的最小循环节code: 1 #include 2 #include 3 const int MAXN = 1000005; 4 char s[MAXN]...
阅读全文
摘要:题目链接:http://poj.org/problem?id=3461题意:给你两个字符串word和text,求出word在text中出现的次数思路:kmp算法的简单应用,遍历一遍text字符串即可,当前匹配的字符数达到word字符串的长度,即可确定word字符串出现一次了。code: 1 #inc...
阅读全文

浙公网安备 33010602011771号