KMP
Michael_GLF
AFOing
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
POJ2406 Power String(KMP)
传送门【题目分析】相当于是求字符串的最小循环节,应用了KMP求最小循环节的知识。看一个例子:有这张图可以知道,因为nxt表示前缀与后缀相同的长度,所以只要虚线之前的部分相同,那么就可以开始循环证明相等。可以发现,如果len(s)-nxt(s)能整除len(s)的话,那么这就是循环节长度。【代码~】#include<bits/stdc++.h>usin...原创 2019-01-02 12:12:31 · 176 阅读 · 0 评论 -
洛谷2375 【NOI2014】动物园(KMP)
传送门【题目分析】nxt数组就是存储的失配位置,所以只用根据题目意思,求出每个位置的nxt并一直跳直到这个前(后)缀长度小于串长的一半即可统计答案,记得+1。【代码~】#include<bits/stdc++.h>using namespace std;typedef long long LL;const int MAXN=1e6+10;const int M...原创 2018-12-28 00:22:34 · 326 阅读 · 0 评论 -
KMP算法的一点学习笔记
博主太菜了,看不懂后缀数组就先滚回来看看KMP。(假设各位不会什么字符串哈希)对于子串查找这类问题,如果我单纯询问一个字符串s1中出现了多少次s2,暴力方法很好想,直接固定起点向后枚举,如果在跳到长度为s2之前就出现不同点,那么这个起点就不行,起点向右挪一位,重复这个操作直到跑到(s2-s1+1)的位置。但这个算法的复杂度非常高,最高可达到O(nm),显然无法解决n>=1000的...原创 2018-11-30 21:55:45 · 239 阅读 · 0 评论
分享