【bzoj1355】【Baltic2009】【Radio Transmission】【kmp】
来源:互联网 发布:javascript基础入门 编辑:程序博客网 时间:2024/06/06 15:04
Description
给你一个字符串,它是由某个字符串不断自我连接形成的。 但是这个字符串是不确定的,现在只想知道它的最短长度是多少.
Input
第一行给出字符串的长度,1 < L ≤ 1,000,000. 第二行给出一个字符串,全由小写字母组成.
Output
输出最短的长度
Sample Input
8
cabcabca
cabcabca
Sample Output
3
HINT
对于样例,我们可以利用"abc"不断自我连接得到"abcabcabc",读入的cabcabca,是它的子串
题解:ans=n-fail[n];
代码:
#include<iostream>#include<cstdio>using namespace std;int n,j,ans;char a[1000010];int fail[1000010];int main(){ scanf("%d",&n);scanf("%s",a+1); j=0; for (int i=2;i<=n;i++){ while (a[j+1]!=a[i]&&j) j=fail[j]; if (a[j+1]==a[i])j+=1; fail[i]=j; } cout<<n-fail[n];}
0 0
- 【bzoj1355】【Baltic2009】【Radio Transmission】【kmp】
- 【bzoj1355】[Baltic2009]Radio Transmission KMP
- [BZOJ1355][Baltic2009][KMP]Radio Transmission
- [BZOJ1355][Baltic2009]Radio Transmission(kmp)
- BZOJ1355: [Baltic2009]Radio Transmission
- [BZOJ1355] [Baltic2009]Radio Transmission
- bzoj1355【Baltic2009】Radio Transmission
- bzoj1355: [Baltic2009]Radio Transmission
- BZOJ1355: [Baltic2009]Radio Transmission
- bzoj1355: [Baltic2009]Radio Transmission
- 【bzoj1355】 [Baltic2009]Radio Transmission
- bzoj1355: [Baltic2009]Radio Transmission(kmp求循环节)
- Border——BZOJ1355 [Baltic2009]Radio Transmission
- 1355: [Baltic2009]Radio Transmission|Kmp
- BZOJ 1355 Baltic2009 Radio Transmission KMP算法
- 【BZOJ】【P1355】【Baltic2009】【Radio Transmission】【KMP】
- BZOJ 1355 [Baltic2009]Radio Transmission Hash/KMP
- 【 bzoj 1355 】 [Baltic2009]Radio Transmission - KMP
- 图文解释XCode常用快捷键的使用
- 编程资料
- poj 1163__The Triangle(dp)
- ARM64的启动过程之(二):创建启动阶段的页表
- 增加字段改为主键后:1062-Duplicate entry '' for key 'PRIMARY'
- 【bzoj1355】【Baltic2009】【Radio Transmission】【kmp】
- 上下状态切换 1和0切换
- USB枚举详细过程剖析
- 下拉刷新
- BZOJ1054[HAOI]移动玩具|状态压缩SPFA
- Cocos2D v2.0至v3.x简洁转换指南(二)
- iOS之OC随笔-遍历数组方法总结
- java中调用python的方法
- 第二阶段的笔试