bzoj 1355: Radio Transmission】的更多相关文章

题目大意: 求字符串的最短循环覆盖字符串 题解: 经典结论题: kmp \(ans = n - next[n]\) #include <cstdio> #include <cstring> #include <algorithm> using namespace std; typedef long long ll; inline void read(int &x){ x=0;char ch;bool flag = false; while(ch=getchar(…
自己YY一下可以发现answer =  n - fail[ n ] ----------------------------------------------------------------------------------- #include<cstdio> #include<cstring> #include<algorithm> #include<iostream>   #define rep( i , n ) for( int i = 0 ;…
1355: [Baltic2009]Radio Transmission Time Limit: 10 Sec  Memory Limit: 64 MBSubmit: 792  Solved: 535[Submit][Status][Discuss] Description 给你一个字符串,它是由某个字符串不断自我连接形成的. 但是这个字符串是不确定的,现在只想知道它的最短长度是多少. Input 第一行给出字符串的长度,1 < L ≤ 1,000,000. 第二行给出一个字符串,全由小写字母组…
1355: [Baltic2009]Radio Transmission Time Limit: 10 Sec  Memory Limit: 64 MBSubmit: 796  Solved: 538[Submit][Status][Discuss] Description 给你一个字符串,它是由某个字符串不断自我连接形成的. 但是这个字符串是不确定的,现在只想知道它的最短长度是多少. Input 第一行给出字符串的长度,1 < L ≤ 1,000,000. 第二行给出一个字符串,全由小写字母组…
bzoj 1355: [Baltic2009]Radio Transmission http://www.lydsy.com/JudgeOnline/problem.php?id=1355 Time Limit: 10 Sec  Memory Limit: 64 MB Description 给你一个字符串,它是由某个字符串不断自我连接形成的. 但是这个字符串是不确定的,现在只想知道它的最短长度是多少. Input 第一行给出字符串的长度,1 < L ≤ 1,000,000. 第二行给出一个字符…
将原串看成是循环节的后缀加上若干个循环节,那么考虑每种情况都会发现n-next[n]就是最小循环节.(一开始总输出n...然后发现build_next连调用都没有,%%% #include<cstdio> #include<cstring> #include<iostream> #include<algorithm> using namespace std; #define REP(i,s,t) for(int i=s;i<=t;i++) const…
P4391 [BOI2009]Radio Transmission 无线传输 kmp 题目让我们求一个串的最小循环子串 我们回想一下kmp中的失配函数 用 f 数组保存当前字符匹配失败后,需要跳到的前一个匹配字符 而题目说主串是某个子串不断自我连接形成 那么从 子串(长度设为 i )结束的后一个字符开始(i+1), f 数组会递增,每次+1(可以输出看看) 到 f[ n ] 时其实就增加了 n-i 次, f[ n ]=n-i 所以答案即为 n-f[ n ] end. #include<iostr…
题目描述 原题来自:BalticOI 2009 给你一个字符串,它是由某个字符串不断自我连接形成的.但是这个字符串是不确定的,现在只想知道它的最短长度是多少. 输入格式 第一行给出字符串的长度 L,第二行给出一个字符串,全由小写字母组成. 输出格式 输出最短的长度. 样例 样例输入 1 8 cabcabca 样例输出 1 3 样例说明 对于样例,我们可以利用 abc 不断自我连接得到 abcabcabc,读入的 cabcabca 是它的子串. 数据范围与提示 对于全部数据,1≤L≤10^6. 题…
问题 L: [KMP]Radio Transmission 题目描述 给你一个字符串,它是由某个字符串不断自我连接形成的.但是这个字符串是不确定的,现在只想知道它的最短长度是多少. 输入 第一行给出字符串的长度L,第二行给出一个字符串,全由小写字母组成. 输出 输出最短的长度. 样例输入 8 cabcabca 样例输出 3 提示 我们可以利用abc不断自我连接得到abcabcabc,读入的cabcabca是它的子串. 对于全部数据,1≤L≤1e6 [题意]: 题意花里胡哨,其实就是问,最小循环串…
Description 一个字符串最短周期. Sol KMP. 最短周期就是 \(n-next[n]\) 证明: 当该字符串不存在周期的时候 \(next[n]=0\) 成立. 当存在周期的时候 \(next[]\) 表示的就是一个和当前后缀相等的前缀,由中间交错的位置可以分别推倒出相邻长度为 \(n-next[n]\) 的子串都相等. 差不多就这样子证吧... Code /*************************************************************…