KMP
SSL_kyx
简~介
展开
-
YbtOJ——KMP 算法【例题3】周期长度和
C. 【例题3】周期长度和 题目 思路 设 p[i]p[i]p[i] 表示字符串111 ~ (i−1)(i-1)(i−1)的最长相同前缀后缀,则: 若 n%(n−p[n])==0n\%(n-p[n])==0n%(n−p[n])==0,答案为 n/(n−p[n])n/(n-p[n])n/(n−p[n]) 否则,答案为 1。 代码 #include<iostream> #include<cstdio> #include<cstring> using namespace st原创 2021-08-08 19:34:24 · 147 阅读 · 0 评论 -
YbtOJ——KMP 算法【例题2】重复子串
B. 【例题2】重复子串 题目 思路 设 p[i]p[i]p[i] 表示字符串111 ~ (i−1)(i-1)(i−1)的最长相同前缀后缀,则: 若 n%(n−p[n])==0n\%(n-p[n])==0n%(n−p[n])==0,答案为 n/(n−p[n])n/(n-p[n])n/(n−p[n]) 否则,答案为 1。 代码 #include<iostream> using namespace std; string s; char ch; int n,p[1000001]; void pre原创 2021-08-08 11:55:48 · 153 阅读 · 0 评论 -
YbtOJ——KMP 算法【例题1】子串查找
A. 【例题1】子串查找 题目 终于学会了KMP ! 板子就不解释了,贴上一篇别人的KMP好文:数据结构KMP算法配图详解(超详细) 代码 #include<iostream> using namespace std; string a,b; int p[100001],n,ans; void in() { cin>>a>>b; } void pre(string s)//预处理最长相同前缀后缀 { p[0]=-1; p[1]=0; int j=0,k=-1;原创 2021-07-09 15:18:52 · 231 阅读 · 0 评论