【bzoj1355】[Baltic2009]Radio Transmission KMP
来源:互联网 发布:四川广电网络成都 编辑:程序博客网 时间:2024/06/01 09:09
Description
给你一个字符串,它是由某个字符串不断自我连接形成的。 但是这个字符串是不确定的,现在只想知道它的最短长度是多少.
Input
第一行给出字符串的长度,1 < L ≤ 1,000,000. 第二行给出一个字符串,全由小写字母组成.
Output
输出最短的长度
Sample Input
8cabcabca
Sample Output
3
HINT
对于样例,我们可以利用”abc”不断自我连接得到”abcabcabc”,读入的cabcabca,是它的子串
Source
主要想练一下kmp…
答案是n-nxt[n],n-nxt[n]表示循环节
#include<cstdio>#include<cstring>#include<iostream>#include<algorithm>using namespace std;const int SZ = 1000010;int nxt[SZ];void getnxt(char s[]){ int n = strlen(s); nxt[0] = 0; nxt[1] = 0; for(int i = 1;i < n;i ++) { int j = nxt[i]; while(j && s[i] != s[j]) j = nxt[j]; nxt[i + 1] = s[i] == s[j] ? j + 1 : 0; }}char s[SZ];int main(){ int n; scanf("%d",&n); scanf("%s",s); getnxt(s); printf("%d",n - nxt[n]); return 0;}
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
- WebService学习(1)
- 懒加载(延时加载)
- recv函数和send函数
- 底部按钮和应用图标显示未读消息
- oracle 创建用户并且分配权限
- 【bzoj1355】[Baltic2009]Radio Transmission KMP
- C# 连接 mysql数据库
- 【JavaScript学习笔记】基本知识点
- 使用gitolite搭建代码库
- C++学习笔记:继承中的构造与析构
- 博弈论
- PL/SQL Developer中汉字显示乱码问题
- spring scheduler 定时器
- iOS小明开发笔记(二十七) (Autolayout(VFL)一)