算法总结第二弹,上次总结了下kmp,这次就来拓展kmp吧。
拓展kmp算法是对KMP算法的扩展,它解决如下问题:
定义母串S,和字串T,设S的长度为n,T的长度为m,求T与S的每一个后缀的最长公共前缀,也就是说,设extend数组,extend[i]表示T与S[i,n-1]的最长公共前缀,要求出所有extend[i](0
注意到,如果有一个位置extend[i]=m,则表示T在S中出现,而且是在...
分类:
编程语言 时间:
2014-12-09 23:10:54
阅读次数:
338
字符串匹配是一个很常见的问题,可以扩展为模式的识别,解决字符串问题的思想被广泛地应用。介绍四种解决该问题的办法,包括:最朴素的遍历法,Rabin-Karp算法,自动机机匹配,Knuth-Morris-Pratt算法即耳熟能详的KMP。
在一开始,先对时间复杂度做出一个总扩(从大到小):【1】朴素法:O( (n-m+1)m );【2】Rabin-Karp:预处理:O(m),匹配:最...
分类:
编程语言 时间:
2014-12-09 12:14:54
阅读次数:
373
Oulipo
Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 5588 Accepted Submission(s): 2235
Problem Description
The French author Georg...
分类:
其他好文 时间:
2014-12-08 23:09:37
阅读次数:
362
一、朴素模式假设我们要从主串S=”goodgoogle"中找到子串T=“google"的位置,步骤如下:i表示主串的当前位置下标,j表示子串的当前位置下标,如上图在第一轮比较(i=1开始)中j=4和i=4的位置不匹配,接下来就要指针回退,从i=2开始比较,如下:如此反复直到比较到 i =(主串长度-子串长度+1)的位置或者 j = 子串的长度 就退出比较循环,上面的主串和子串在比较到i=5的位置就...
分类:
编程语言 时间:
2014-12-07 15:06:49
阅读次数:
229
Oulipo
Time Limit: 1000MS
Memory Limit: 65536K
Total Submissions: 25172
Accepted: 10107
Description
The French author Georges Perec (1936–1982) once wrote a book, La ...
分类:
其他好文 时间:
2014-12-07 13:52:10
阅读次数:
169
题目链接:http://poj.org/problem?id=2406思路:1.理解Kmp算法的next数组的意义;2.对于字符A[i],i-next[i]等价于在字符串中存在一个长度为i-next[i]的重复子串;3.当 i % (i - next[i]) == 0 等价于字符串由 (i/(i-n...
分类:
其他好文 时间:
2014-12-06 15:21:23
阅读次数:
173
字典树struct Trie{ int ch[MAXN][26]; int cnt; Trie() { cnt=1; memset(ch[0],0,sizeof(ch[0])); } int idx(char c) { return c-'a'; } void insert(char *s...
分类:
其他好文 时间:
2014-12-06 11:21:30
阅读次数:
161
KMP算法最难懂的就是next[]数组的求法。
用一个例子来解释,下面是一个子串的next数组的值,可以看到这个子串的对称程度很高,所以next值都比较大。
位置i
0
1
2
3
4
5
6
7
8
9
10
11
12
13
...
分类:
编程语言 时间:
2014-12-05 22:47:39
阅读次数:
240
#include#include#include#include#include#include#include#include#include#include#include#includeusing namespace std;#define mmax 100000+10void extendk...
分类:
其他好文 时间:
2014-12-05 19:06:31
阅读次数:
170
Week 1[11.10-11.16]NOIP挂了嘛,于是也开始了新一轮虐(bei)题(nve)QAQ冒着下周期中考的大难。。。【BZOJ 1005】Purfer Sequence+数论·组合【BZOJ 1007】数论·平面几何【BZOJ 1009】KMP+DP+DP优化·矩阵快速幂【BZOJ 10...
分类:
其他好文 时间:
2014-12-04 19:57:35
阅读次数:
179