YbtOJ KMP算法课堂过关 例2 重复字串【KMP】
发布日期:2021-05-07 13:10:09 浏览次数:23 分类:精选文章

本文共 509 字,大约阅读时间需要 1 分钟。

在这里插入图片描述


思路

安利博客嗯嗯——

代码

#include
#include
#include
using namespace std;int next[1000010],longs;char s[1000100];int main(){ scanf("%s",s+1); longs=strlen(s+1); while(s[1]!='.') { int k=0; for(int i=2; i<=longs; i++) { while(k>0&&s[k+1]!=s[i]) k=next[k]; if(s[k+1]==s[i]) k++; next[i]=k; } if(longs%(longs-(next[longs]))==0) printf("%d\n",longs/(longs-(next[longs]))); else printf("1\n"); scanf("%s",s+1); longs=strlen(s+1); } return 0;}
上一篇:YbtOJ KMP算法课堂过关 例3 周期长度和【KMP】
下一篇:深入浅出:KMP算法最!详!解!

发表评论

最新留言

能坚持,总会有不一样的收获!
[***.219.124.196]2025年04月05日 11时32分43秒