1355: [Baltic2009]Radio Transmission

Time Limit: 10 Sec   Memory Limit: 64 MB
Submit: 649   Solved: 426
[ Submit][ Status][ Discuss]

Description

给你一个字符串,它是由某个字符串不断自我连接形成的。 但是这个字符串是不确定的,现在只想知道它的最短长度是多少.

Input

第一行给出字符串的长度,1 < L ≤ 1,000,000. 第二行给出一个字符串,全由小写字母组成.

Output

输出最短的长度

Sample Input

8
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 1000005
using 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;
}

bzoj1355【Baltic2009】Radio Transmission相关推荐

  1. 【KMP】Radio Transmission(最小循环子串)

    [KMP]Radio Transmission(最小循环子串) Description 给你一个字符串,它是由某个字符串不断自我连接形成的.但是这个字符串是不确定的,现在只想知道它的最短长度是多少. ...

  2. 【CSS-03】radio+img居中对齐

    在一个div中,让单选框和图片都居中,而不是单选框在下.需要对radio和img都做垂直方向居中的属性设置. 代码如下: <style>input[type=radio],input[ty ...

  3. 给姐姐的英语学习计划【专】#【例句】

    #@TOC https://blog.csdn.net/caoshangpa/article/details/52954552 https://blog.csdn.net/caoshangpa/art ...

  4. [BZOJ1355][Baltic2009]Radio Transmission

    [BZOJ1355][Baltic2009]Radio Transmission 试题描述 给你一个字符串,它是由某个字符串不断自我连接形成的. 但是这个字符串是不确定的,现在只想知道它的最短长度是多 ...

  5. [Baltic2009]Radio Transmission

    bzoj 1355: [Baltic2009]Radio Transmission http://www.lydsy.com/JudgeOnline/problem.php?id=1355 Time ...

  6. 射频电路设计——传输线理论(Transmission Line Analysis) 【下】

    射频电路设计(RF Circuit Design)--传输线理论(Transmission Line Analysis) [下] 上篇 传输线理论(Transmission Line Analysis ...

  7. 【JavaEE】TCP协议的十大原理保姆讲解(Transmission Control Protocol)

    博主简介:想进大厂的打工人 博主主页:@xyk: 所属专栏: JavaEE初阶 上一篇文章讲了UDP协议,那么这篇文章我来讲讲TCP协议,TCP协议相对UDP协议难一些,内容相对更多. TCP,即Tr ...

  8. ACM入门之【KMP】

    KMP可以O(n)的时间查找出一个字符串在另一个字符串出现的次数和位置. KMP 的精髓在于,对于每次失配之后,我都不会从头重新开始枚举,而是根据我已经得知的数据,从某个特定的位置开始匹配:而对于模式 ...

  9. 【GTASA】路人PED替换语音教程

    [GTASA]路人PED替换语音教程 记录教程 一.前言 我们知道路人与玩家或路人之间会有交互,即产生语音. 是否我们可以替换这个语音呢? 答案是肯定的 下面的教程,我将简单的教大家如何替换语音 二. ...

最新文章

  1. 推荐一些顶级的开源CI/CD工具
  2. ubuntu更新rtl8192cu驱动
  3. github上传的项目代码语言类型修改
  4. webpack 报错 path is not defind
  5. 关于Lua打包cocos2d项目
  6. 监听程序当前无法识别连接描述符中请求的服务_Linux I/O复用中select poll epoll模型的介绍及其优缺点的比较...
  7. 软件测试中期答辩,中期答辩材料创新张颖
  8. 机器学习(七)白化whitening
  9. 百度指数和股票的相关性
  10. 基于阿里云CentOS进行Docker尝试
  11. 20选1,来挑一款最棒的JSON编辑器吧,用好工具,可提前60分钟下班
  12. 2022企业电子邮件在哪里找,企业电子邮件系统哪个安全?
  13. 计算时间差 html,计算时间差的公式
  14. Sqoop的基本使用
  15. Qt 圆形进度条实现
  16. bugku:简单的套娃
  17. 数据结构与算法实验 实验6:二叉树ADT的二叉链式实现 (由完全前序序列创建二叉树 / 求二叉树的节点数/树高/叶子节点数 /先序中序后序层序遍历)
  18. 2.1 良好的代码格式
  19. 机器学习 决策树算法
  20. linux写一个猜数字的脚本,linux的shell脚本猜数字1-100小游戏

热门文章

  1. 什么牌子的蓝牙耳机音质最好?四大品牌音质最好的蓝牙耳机推荐
  2. amd显卡关闭垂直同步 linux,Windows8系统垂直同步怎么关?Intel/AMD/NVIDIA显卡关闭方法...
  3. unity的垂直同步VSync
  4. 网页上传到服务器时图片无法显示问题
  5. 海盗湾的出售和Usenet的败诉
  6. android基础复习笔记——5.从OkHttp的源码来看HTTP
  7. 最新版本 Stable Diffusion 开源AI绘画工具之部署篇
  8. 吉林大学ACM集训队选拔赛(重现赛)I-Firework (最短路)
  9. 金蝶云星空与旺店通·旗舰奇门对接集成销售订单查询连通原始单推送(KD销售订单对接WDT原始订单(线下)-ok)
  10. 实用高效,5款腾讯热门开源项目推荐