KMP 算法,是由Knuth,Morris,Pratt共同提出的模式匹配算法,其对于任何模式和目标序列,都可以在线性时间内完成匹配查找,而不会发生退化, 是一个非常优秀的模式匹配算法。但是相较于其他模式匹配算法,该算法晦涩难懂,第一次接触该算法的读者往往会看得一头雾水,主要原因是KMP算法在构造跳 ...
分类:
其他好文 时间:
2014-08-13 14:22:16
阅读次数:
307
KMP算法的定义及KMP练手题 HDU 1711 Number Sequence (我的KMP模板代码)...
分类:
其他好文 时间:
2014-08-12 22:14:05
阅读次数:
253
//普通的暴力求解法
int?ViolentMatch(char*?s,?char*?p)??
{??
????int?sLen?=?strlen(s);??
????int?pLen?=?strlen(p);??
??
????int?i?=?0;??
????int?j?=?0;??...
分类:
其他好文 时间:
2014-08-11 21:40:54
阅读次数:
332
http://poj.org/problem?id=3461
先来一发KMP算法:
#include
#include
#include
#include
#include
#include
#include
#include
using namespace std;
#define ls(rt) rt*2
#define rs(rt) rt*2+1
#def...
分类:
其他好文 时间:
2014-08-09 21:29:29
阅读次数:
278
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2594
这题直接用KMP算法就可以做出来,不过我还尝试了用扩展的kmp,这题用扩展的KMP效率没那么高。
KMP算法:...
分类:
其他好文 时间:
2014-08-09 18:47:48
阅读次数:
221
#1015 : KMP算法
时间限制:1000ms
单点时限:1000ms
内存限制:256MB
描述
小Hi和小Ho是一对好朋友,出生在信息化社会的他们对编程产生了莫大的兴趣,他们约定好互相帮助,在编程的学习道路上一同前进。
这一天,他们遇到了一只河蟹,于是河蟹就向小Hi和小Ho提出了那个经典的问题:“小Hi和小Ho,你们能不能够判断一段文字(...
分类:
其他好文 时间:
2014-08-08 12:45:25
阅读次数:
213
#include#includeclass KMP{public: KMP(const char *P,const char *Q); void Deal();private: void GenPi(); void Search(); char q[1024]; ...
分类:
其他好文 时间:
2014-08-08 11:58:35
阅读次数:
231
一道应用kmp算法中next数组的题目
这其中vis[i]从1加到n
vis[i]=[next[i]]+1;
#include
#include
#include
#include
#include
using namespace std;
char s[200005];
int b;
int next[200005];
int vis[200005];
void n...
分类:
其他好文 时间:
2014-08-08 09:42:11
阅读次数:
168
/*
KMP算法
*/
void main()
{
putsl(find('abc123','c1'))
putsl(find('abc123','c2'))
}
int find(rstr s,rstr p)
{
next=get_next(p)
i=0
j=0
for i<s.count&&j<p.count
if j==-1||s[i]==p[j]
i++
j...
分类:
其他好文 时间:
2014-08-08 02:00:55
阅读次数:
209
#include#includeint next[10005],lena,lenb;int a[1000005],b[10005];void set_naxt()//子串的next数组{ int i=0,j=-1; next[0]=-1; while(i<lenb) { ...
分类:
其他好文 时间:
2014-08-07 18:26:50
阅读次数:
227