kmp
文章平均质量分 67
goto_1600
我何来寂寞,哪有寂寞可言。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Pty loves string 树上主席树,border,kmp Fail树
link 题意: 给定一个字符串,Q次询问,每次询问一个x,y,代表前后缀拼起来的字符串,询问该字符串在原串中的可重叠匹配次数。 Q<=2e5 n<=2e5 思路: 由于题目给的是[1,x] [n-y+1,n] ,如果匹配的话,那么就是匹配了[l,l+x-1],[r-y+1,r],且l+x==r-y+1,我们前后缀分开考虑,这里仅讨论前缀,对于某个前缀k,考虑在kmp的过程中,它一直通过fail指针暴跳,这里来复习一下fail指针,对于红色指针他他所对应的fail就是黑色指针,那么对于ababa原创 2021-08-19 22:44:47 · 432 阅读 · 0 评论 -
CodeForces - 1200E 哈希或kmp
题目链接 题意:连接n个单词使得前后两个单词 公共后缀与前缀去掉重复的。 思路:一开始 想的哈希 ,想不到 kmp 结果看了题解 原来这么简单,直接从后缀开始匹配 最后匹配的j就是结尾匹配的长度。注意哈希要双模数,防止北卡。 hashhashhash #include<bits/stdc++.h> using namespace std; //typedef long long ll; #define debug printf("---\n"); const int N=210,M=10010;原创 2020-12-06 14:35:37 · 409 阅读 · 0 评论 -
kmp(字符串匹配)
解题报告:这道题好像是挺裸的kmp算法吧,我不太懂,之前学过hh,于是去回看了一遍y总的视频,可恶,然后明白了kmp的大致思路,如果暴力枚举字符串是否匹配的话挺难办的复杂度O(n^2),kmp的思路是预处理出来ne数组,ne数组的下标代表以它为结尾的,他的值代表的是最长前缀和后缀相等的部分,如果匹配不上把j更新成ne[j],注意一点就是如果匹配上了j也要更新成ne[j],用来方便下次匹配。 这题...原创 2020-04-20 21:09:22 · 269 阅读 · 0 评论 -
kmp算法
题目在这~ 思路就是求出最小模板链的移动,求出模板链最大的相等前后缀字符串。 #include<iostream> using namespace std; const int N=1000010; char p[N],s[N]; int ne[N]; int main() { int n; int m; scanf("%d",&n); cin&...原创 2020-02-04 22:25:30 · 254 阅读 · 0 评论
分享