[Baltic2009]Radio Transmission
bzoj 1355: [Baltic2009]Radio Transmission
http://www.lydsy.com/JudgeOnline/problem.php?id=1355
Time Limit: 10 Sec Memory Limit: 64 MB
Description
Input
Output
Sample Input
cabcabca
Sample Output
HINT
对于样例,我们可以利用"abc"不断自我连接得到"abcabcabc",读入的cabcabca,是它的子串
统计字符串的next
len-next[len]就是答案
证明:
当next[len]>len/2时
当next[len]<=len/2 时
#include<cstdio> #include<cstring> #include<iostream> using namespace std; int n; char s[1000001]; int f[1000010]; void getnext() {for(int i=1;i<n;i++){int j=f[i];while(j&&s[i]!=s[j]) j=f[j];f[i+1]= s[i]==s[j] ? j+1:0;} } int main() {scanf("%d",&n);cin>>s;getnext();printf("%d",n-f[n]); }
转载于:https://www.cnblogs.com/TheRoadToTheGold/p/6484579.html
[Baltic2009]Radio Transmission相关推荐
- [BZOJ1355][Baltic2009]Radio Transmission
[BZOJ1355][Baltic2009]Radio Transmission 试题描述 给你一个字符串,它是由某个字符串不断自我连接形成的. 但是这个字符串是不确定的,现在只想知道它的最短长度是多 ...
- BZOJ1355: [Baltic2009]Radio Transmission
题目大意:给出一个字符串,已知它是一个字符串S不断反复后构成的无限长的字符串的一个子串,求S的最短长度是多少. 思路:利用KMP算法,答案就是n-next[n].证明例如以下: 图太渣了... 另一种 ...
- 1355: [Baltic2009]Radio Transmission
Time Limit: 10 Sec Memory Limit: 64 MB Submit: 958 Solved: 659 [Submit][Status][Discuss] Descripti ...
- bzoj1355【Baltic2009】Radio Transmission
1355: [Baltic2009]Radio Transmission Time Limit: 10 Sec Memory Limit: 64 MB Submit: 649 Solved: ...
- 【KMP】Radio Transmission(最小循环子串)
[KMP]Radio Transmission(最小循环子串) Description 给你一个字符串,它是由某个字符串不断自我连接形成的.但是这个字符串是不确定的,现在只想知道它的最短长度是多少. ...
- P4391 [BOI2009]Radio Transmission 无线传输(Kmp)
[BOI2009]Radio Transmission 无线传输 - 洛谷https://www.luogu.com.cn/problem/P4391 #include <iostream> ...
- Radio Transmission
请读者在阅读前充分理解KMP与其失配函数的意义. [BOI2009] Radio Transmission 无线传输 题目描述 给你一个字符串 s 1 s_1 s1,它是由某个字符串 s 2 s_2 ...
- [bzoj1355][Baltic2009]Radio Transmission_KMP
Radio Transmissio bzoj-1355 Description 给你一个字符串,它是由某个字符串不断自我连接形成的. 但是这个字符串是不确定的,现在只想知道它的最短长度是多少. Inp ...
- P4391 [BOI2009]Radio Transmission 无线传输
呐呐呐题面 这题可以说是kmp的简化版,也就是说只用求一下next数组,答案输出为n-next[n],那么为什么呢,其实这也很好想,next[i]存储的是下标为i的前缀与从头开始最长的相同前缀的尾下标 ...
最新文章
- 分享一个获得Java项目经验的快速途径!
- 2018.1.18纪事
- 用matlab定义2020年元旦是星期三,如何用matlab实现某年某月某日是星期几的问题,...
- OpenCASCADE:Modeling Algorithms模块之制作原语Making Primitives
- Android adb 启动APP
- 十分钟搞定JeecgBoot 单体升级微服务!
- 机器学习任务的一般步骤
- 网页截图和svg模版动态生成图片Java实现
- 宝塔linux网络连接错误,宝塔linux面板部署防火墙后网页打不开报http564错误的解决办法...
- idea编辑区光标问题
- atmega328p引脚图_ATmega328P定时器详解
- 使用Java打印三角形
- 安卓开发-接收系统广播
- EasyUI TreeGrid各行调整上下位置
- java解密_JAVA加解密
- 笔记本键盘输入错乱,字母都变成数字了
- 3个月备战政治数学,你成功上岸了么?
- 电脑右击新建没有Word、Excel怎么办
- 位图(BMP)文件头格式及数据分析
- SQL进阶教程 | 史上最易懂SQL教程!10小时零基础成长SQL大师!!
热门文章
- Python3 Scrapy爬取猫眼TOP100代码示例
- 简单介绍一下solr
- SQLyog连接虚拟机中docker中的mysql过程详解,并解决2003错误
- 解决eclipse中Mybatis框架下sql语句执行后控制台不显示日志问题
- C++11 auto和decltype关键字
- 【小米校招笔试】给定一些线段,线段有起点和终点,求这些线段的覆盖长度,重复的部分只计算一次
- git commit时出现unable to auto-detect email address错误
- php laravel组件,php – 在Laravel中为共享组件包中的文件配置
- U-Boot 之三 U-Boot 源码文件解析及移植过程详解
- Visual Studio Code (VSCode) 之 C/C++ 调试配置详解