
KMP
zz_ylolita
这个作者很懒,什么都没留下…
展开
-
poj3461—KMP裸题
题目大意:给出两个字符串p和s,求出p在s中出现的次数 #include #include #include #include using namespace std; char p[10010],s[1000010]; int next[10010]; int lenp,lens,ans,m; void getnext() { next[0]=-1; int j=-原创 2016-02-10 22:36:22 · 1037 阅读 · 0 评论 -
KMP算法
Matrix67教你KMP 详细介绍KMP的地方 练习: poj3461 题目大意:给出两个字符串p和s,求出p在s中出现的次数 #include #include #include #include using namespace std; char p[10010],s[1000010]; int next[10010]; int lenp,lens,ans,m; void原创 2016-02-10 21:23:40 · 370 阅读 · 0 评论 -
poj2406—KMP next数组的性质求最小周期
题目大意:给出一个字符串,求它最多有几个连续子串构成 分析:KMP求最小周期——结论:如果一个字符串有最小周期,那么最小周期为n-next[n] 考虑整个串,根据next数组的定义,前后匹配并且前缀和相等的最长的后缀之间没有交叉,那么相等的部分的长度为next[n],并且从左往右相等。 如果希望中间的也是有s[1..next[n]]的几个循环组成,那么整个串就以next[n]为最小周原创 2016-02-10 22:37:57 · 1605 阅读 · 0 评论 -
bzoj3670:NOI2014 动物园
#include #include #include #include using namespace std; #define L 1000010 #define P 1000000007 int n,m; char s[L]; int next[L],num1[L]; long long ans; void getnext() { int j=0;next[1]=0;原创 2016-02-11 01:13:07 · 778 阅读 · 0 评论