KMPRadio Transmission
Posted hao-tian
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了KMPRadio Transmission相关的知识,希望对你有一定的参考价值。
问题 L: 【KMP】Radio Transmission
时间限制: 1 Sec 内存限制: 128 MB提交: 34 解决: 7
[提交] [状态] [讨论版] [命题人:admin]
题目描述
给你一个字符串,它是由某个字符串不断自我连接形成的。但是这个字符串是不确定的,现在只想知道它的最短长度是多少。
输入
第一行给出字符串的长度L,第二行给出一个字符串,全由小写字母组成。
输出
输出最短的长度。
样例输入
8
cabcabca
样例输出
3
提示
我们可以利用abc不断自我连接得到abcabcabc,读入的cabcabca是它的子串。
对于全部数据,1≤L≤106
#include <bits/stdc++.h> using namespace std; char p[1000005]; int lenp; int Next[1000005]; void get_next() { int i,j; Next[0] = j = -1; i = 0; while(i<lenp) { while(j!=-1&&p[j]!=p[i]) j = Next[j]; Next[++i] = ++j; } } int main() { int n; cin>>n; scanf("%s",p); lenp = strlen(p); get_next(); // for(int i=0;i<lenp;i++) // { // cout<<Next[i]<<" "; // } cout<<n-Next[n]; return 0; }
以上是关于KMPRadio Transmission的主要内容,如果未能解决你的问题,请参考以下文章
RSS, Transmission flexget in linux
BZOJ1355: [Baltic2009]Radio Transmission