bzoj1355【Baltic2009】Radio Transmission
来源:互联网 发布:外国聊天软件 编辑:程序博客网 时间:2024/06/08 06:46
1355: [Baltic2009]Radio Transmission
Time Limit: 10 Sec Memory Limit: 64 MBSubmit: 649 Solved: 426
[Submit][Status][Discuss]
Description
给你一个字符串,它是由某个字符串不断自我连接形成的。 但是这个字符串是不确定的,现在只想知道它的最短长度是多少.
Input
第一行给出字符串的长度,1 < L ≤ 1,000,000. 第二行给出一个字符串,全由小写字母组成.
Output
输出最短的长度
Sample Input
8
cabcabca
cabcabca
Sample Output
3
HINT
对于样例,我们可以利用"abc"不断自我连接得到"abcabcabc",读入的cabcabca,是它的子串
KMP,答案等于n-fail[n]。
#include<iostream>#include<cstdlib>#include<cstdio>#include<cmath>#include<cstring>#include<algorithm>#define F(i,j,n) for(int i=j;i<=n;i++)#define D(i,j,n) for(int i=j;i>=n;i--)#define ll long long#define maxn 1000005using namespace std;int n,f[maxn];char s[maxn];int main(){scanf("%d%s",&n,s+1);int j=0;F(i,2,n){while (s[j+1]!=s[i]&&j) j=f[j];if (s[j+1]==s[i]) j++;f[i]=j;}printf("%d\n",n-f[n]);return 0;}
1 0
- 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】
- 【bzoj1355】[Baltic2009]Radio Transmission KMP
- [BZOJ1355][Baltic2009][KMP]Radio Transmission
- [BZOJ1355][Baltic2009]Radio Transmission(kmp)
- Border——BZOJ1355 [Baltic2009]Radio Transmission
- bzoj1355: [Baltic2009]Radio Transmission(kmp求循环节)
- 1355: [Baltic2009]Radio Transmission
- 1355: [Baltic2009]Radio Transmission
- [Baltic2009]Radio Transmission题解
- 1355: [Baltic2009]Radio Transmission|Kmp
- 【BZOJ 1355】 [Baltic2009]Radio Transmission
- HDU5691-Sitting in Line-状态压缩
- 安装centos7 按e编辑 修正无法发现/dev/root 问题
- JS
- response实现文件下载
- (1048, "Column 'user_id' cannot be null")
- bzoj1355【Baltic2009】Radio Transmission
- 01背包和部分背包问题
- 代理模式
- Java学习之路(第一天)
- bzoj3670【NOI2014】动物园
- 软件工程 — Chapter1
- 数据结构之链表
- HDU5694-BD String-数学归纳找规律
- CSS高效开发实战 4567