KMP算法
Nowed
把泪水种在心上,一定会开出勇敢的花。
展开
-
#KMP# [牛客 K匹配]
TitleK匹配询问SSS串中有多少字串包含TTT串。SolutionKMPKMPKMP求出每个TTT的位置。一开始是用总的字串个数减去不合法的字串个数,但是不知道考虑少了些什么情况。设c[i]c[i]c[i]表示第iii个TTT串的位置,每一次的答案统计是(c[i]−c[i−1])∗(n−k−c[i]+2)\mathbf{ (c[i]-c[i-1])*(n-k-c[i]+2) }(c[i]−c[i−1])∗(n−k−c[i]+2)Code#include<cstdio>原创 2020-10-28 19:52:44 · 241 阅读 · 0 评论 -
POJ 2752 Seek the Name, Seek the Fame {kmp}
题目Description The little cat is so famous, that many couples tramp over hill and dale to Byteland, and asked the little cat to give names to their newly-born babies. They seek the name, and at the ...原创 2018-06-20 21:17:03 · 177 阅读 · 0 评论 -
[poj 2406] Power Strings
题目http://poj.org/problem?id=2406解题思路KMP,套一遍模板,然后在输出的时候,判断一下len%(len-a[len])==0或a[len]==0就可以了代码#include&lt;cstdio&gt;#include&lt;string&gt;#include&lt;iostream&gt;using namespace s...原创 2018-06-21 08:05:34 · 174 阅读 · 0 评论 -
[NOI2014][luogu 2375]动物园 {KMP}
题目https://www.luogu.org/problemnew/show/P2375解题思路在KMPKMPKMP的过程上,再用numnumnum数组来储存题目要求我们算的:不互相重复的公共前后缀个数。 通过画图,可以知道num[]num[]num[]是等价next[next[]]next[next[]]next[next[]]的,为了不会重复,所以可以当j&gt;i∗2...原创 2018-08-17 19:10:24 · 180 阅读 · 0 评论 -
[luogu 3435] [POI2006] OKR-Periods of Words{KMP算法}
题目https://www.luogu.org/problemnew/show/P3435解题思路一个周期为:1−next[next[i]]1−next[next[i]]1-next[next[i]],所以求出字符串的自我匹配后用ansansans累加求i−ji−ji-j即可。可以用一个类似记忆化的方法,在累求的过程中可以把next[i]=j;next[i]=j;next[i]...原创 2018-08-17 19:17:15 · 204 阅读 · 0 评论 -
[poj 1961] Period{KMP算法}
题目http://poj.org/problem?id=1961解题思路对字符串SSS自匹配求出nextnextnext数组,根据定义,对于每个iii,S[i−next[i]+1∼i]S[i−next[i]+1∼i]S[i-next[i]+1\sim i]与S[1−∼next[i]]S[1−∼next[i]]S[1-\sim next[i]],并且不存在更大的nextnextnex...原创 2018-08-17 19:23:53 · 171 阅读 · 0 评论 -
[JZOJ 5178] So many prefix? {KMP+DP}
题目Sample Input样例一:abababc样例二:isdashagayisdashagaydashisnotagaydashisnotagaySample Output样例一:6样例二:30解题思路KMP+DPKMP+DPKMP + DPKMP+DP,考虑KMPKMPKMP中的 next[i]next[i]next[i],代表最大的 k(k!=i)k(k != ...原创 2018-10-27 16:21:58 · 196 阅读 · 0 评论 -
[luogu 3375] 【模板】KMP字符串匹配
题目https://www.luogu.org/problemnew/show/P3375解题思路因为之前做的kmpkmpkmp的题目都只用求nextnextnext数组,而对后面的字符串模式匹配根本就用不到, 所以特地打一篇模板。代码#include&lt;cstdio&gt;#include&lt;cstring&gt;using namespace std; char c...原创 2018-12-07 20:31:17 · 257 阅读 · 1 评论 -
[jzoj 3189] 解密 {hash+kmp}
题目解题思路代码#include<cstdio>#include<cstring>#define ll long long#define lw 200560490131ll#define xxy 999983#define N 1000010#define rep(i,x,y) for (register int i=x;i<=y;i++)us...原创 2019-04-06 22:06:30 · 223 阅读 · 0 评论