kmp
撒旦即可
研究CV的菜狗
展开
-
poj 3461 kmp模式匹配
题目链接:http://poj.org/problem?id=3461 题目描述:给一个子串再给一个主串,问子串在主串中出现了多少次。 反正就是裸的kmp算法,出现了点小错误就是把next数组和S1,s2数组定义在一起变成char了,导致一直错误 #include<cstdio> #include<cstring> using namespace std; char...原创 2018-09-10 17:14:56 · 118 阅读 · 0 评论 -
poj 2406 kmp求循环节
poj 2406 给一个串,要你找出最大的n,使得这个串是由n个相同的子串拼接而成的 这道题水题,不过有一点需要说明一下,为什么要l%(l-next[l-1]-1)==0,就算是有循环节了 证明: k1=next[l-1]; 则由kmp算法原理可知 k2=next[k1]; ........... 0=next[kn]; 简而言之证明是这样的,假设字符串s中[1,n]的字...原创 2018-09-10 17:45:36 · 130 阅读 · 0 评论 -
牛客网-栗酱的数列(kmp)
解题思路: 其实一开始我只想到了暴力的方法,复杂度mn.后来网上找了题解https://blog.csdn.net/m0_37134257/article/details/78884367。 发现竟然还可以用kmp做,因为题目要求(a'1+b1)%k = (a'2+b2)%k = …… = (a'm+ bm)%k。那么可以改造一下,变成 ((a2-a1)+(b2-b1))%k==0,这样就...原创 2019-03-13 22:00:19 · 389 阅读 · 0 评论 -
HDU2087(kmp,两字符串匹配模板)
解题思路:其实就是kmp匹配,但是有一点区别就是,匹配时j==l2-1时,不是j=next[j]而是j=-1从头开始 #include<cstdio> #include<cstring> #include<iostream> using namespace std; int nxt[1005]; void build_nxt(char s[]) { int...原创 2019-03-15 11:54:06 · 124 阅读 · 0 评论