Time Limit: 10 Sec  Memory Limit: 64 MB
Submit: 958  Solved: 659
[Submit][Status][Discuss]

Description

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

Input

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

Output

输出最短的长度

Sample Input

8
cabcabca

Sample Output

3

HINT

对于样例,我们可以利用"abc"不断自我连接得到"abcabcabc",读入的cabcabca,是它的子串

Source

KMP算法的裸题

答案=L-P[L];

 1 #include<iostream>
 2 #include<cstdio>
 3 #include<cstring>
 4 #include<cmath>
 5 #include<cstring>
 6 #include<algorithm>
 7 using namespace std;
 8 const int MAXN=1000010;
 9 void read(int &n)
10 {
11     char c='+';int x=0;bool flag=0;
12     while(c<'0'||c>'9'){c=getchar();if(c=='-')flag=1;}
13     while(c>='0'&&c<='9')x=x*10+c-48,c=getchar();
14     n=flag==1?-x:x;
15 }
16 char a[MAXN];
17 int p[MAXN];
18 int l=0;
19 void getp()
20 {
21     int j=0;
22     for(int i=1;i<l;i++)
23     {
24         while(a[i]!=a[j]&&j>0)    j=p[j-1];
25         if(a[i]==a[j])j++;
26         p[i]=j;
27     }
28     printf("%d",l-p[l-1]);
29 }
30 int main()
31 {
32     int meiyong;read(meiyong);
33     scanf("%s",a);
34     l=strlen(a);
35     getp();
36     return 0;
37 }

1355: [Baltic2009]Radio Transmission相关推荐

  1. [Baltic2009]Radio Transmission

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

  2. [BZOJ1355][Baltic2009]Radio Transmission

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

  3. BZOJ1355: [Baltic2009]Radio Transmission

    题目大意:给出一个字符串,已知它是一个字符串S不断反复后构成的无限长的字符串的一个子串,求S的最短长度是多少. 思路:利用KMP算法,答案就是n-next[n].证明例如以下: 图太渣了... 另一种 ...

  4. bzoj1355【Baltic2009】Radio Transmission

    1355: [Baltic2009]Radio Transmission Time Limit: 10 Sec   Memory Limit: 64 MB Submit: 649   Solved:  ...

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

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

  6. P4391 [BOI2009]Radio Transmission 无线传输(Kmp)

    [BOI2009]Radio Transmission 无线传输 - 洛谷https://www.luogu.com.cn/problem/P4391 #include <iostream> ...

  7. Radio Transmission

    请读者在阅读前充分理解KMP与其失配函数的意义. [BOI2009] Radio Transmission 无线传输 题目描述 给你一个字符串 s 1 s_1 s1​,它是由某个字符串 s 2 s_2 ...

  8. [bzoj1355][Baltic2009]Radio Transmission_KMP

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

  9. P4391 [BOI2009]Radio Transmission 无线传输

    呐呐呐题面 这题可以说是kmp的简化版,也就是说只用求一下next数组,答案输出为n-next[n],那么为什么呢,其实这也很好想,next[i]存储的是下标为i的前缀与从头开始最长的相同前缀的尾下标 ...

最新文章

  1. 在本机用Toad远程连接Oracle数据库
  2. java之hibernate之 cascade和inverse
  3. 美观实用的标签切换菜单
  4. 【Kettle】血统分析
  5. mft按钮设计_《ZEMAX光学设计超级学习手册》一一1.2 用户界面
  6. SQLite: 关于日期的标准化问题
  7. 文件下载之断点续传(客户端与服务端的实现)
  8. 基于模型的新能源汽车整车热管理系统设计方案
  9. 如何计算机器人的工作范围,如何根据工业机器人的工作范围选择合适的机器人型号?...
  10. 信息系统面临的安全威胁
  11. 【三大锁】悲观锁——mysql悲观锁
  12. (九)数字后端之静态时序分析STA
  13. SSH开发银联在线支付
  14. 使用ngrok对黑群晖进行内网穿透/公网访问
  15. Electron 实现窗口置顶效果
  16. Java NIO 底层原理详解
  17. TDA4VM/VH 芯片硬件 mailbox
  18. 小学生数学测试软件编写分析,小学生数学测试软件C语言课程设计
  19. Swift 不同样式文字拼接处理
  20. 比UltraEdit更好用的免费记事本软件下载

热门文章

  1. Java中使用递归算法实现子级架构的查询
  2. 知识图谱(五)——实体消歧
  3. 需求文档可以不签字吗? 之一
  4. Dart微基准测试第一部分
  5. 关于Tomcat有这一篇就够了
  6. ibm服务器虚拟化报价,IBM x86 服务器虚拟化服务.pdf
  7. 神策数据林美天于大数据与人工智能分享沙龙分享
  8. 神策数据加入猿团程序员大牛卡,创客大礼包助力开发。
  9. 《CSS蝉意花园读书精记》(基础篇---------上.资料篇1)
  10. 进大厂必须掌握的50个微服务面试问题!