
kmp
peter_819
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
【各种算法】【kmp】复习
kmp算法:一种字符串匹配算法,可以处理两个串得匹配问题,求一个串在另一个串中出现次数,判断a是b的字串等等。 算法来源:考虑对于a,b串暴力匹配,枚举b串出现的位置之后,将位置后面b串长度个位置挨个匹配,这种算法将会多次遍历b串,对于很多情况,出现位置只向后移动一次并不能与b串匹配。 考虑我们先求出b串的前i位串的最长公共前后缀(border)。 有这样的性质:对于a串和b串匹配到一点失配,原创 2017-04-07 22:17:17 · 524 阅读 · 0 评论 -
【KMP】【poj3167】【bzoj1729】Cow Patterns
题意 给定一个顺序序列表示奶牛的排列顺序,定义串a=b当且仅当a的每位的排名=b的每位的排名。 题解 预处理出前i位中j出现的次数,由于编号很小,处理出类似前缀和,暴力查询排名即可。已知排名之后就直接kmp。 代码 #include <iostream> #include <cstdio> #include <cstring> #define MAXN 100001 using namespac原创 2017-03-25 21:40:25 · 630 阅读 · 0 评论 -
【kmp】【poj2406】Power Strings
题意 求给定串的最小循环节个数 题解 最小循环节长度=len-border border:最长公共前后缀 kmp 代码 #include <iostream> #include <cstdio> #include <cstring> #define MAXN 1000001 using namespace std; int nxt[MAXN]; char s[MAXN]; int main(原创 2017-03-25 21:47:25 · 246 阅读 · 0 评论