关闭

BZOJ 1355 [Baltic2009]Radio Transmission

标签: bzojkmp
119人阅读 评论(0) 收藏 举报
分类:

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


【题目分析】
简单的KMP水题,只需要输出l-next[l]就可以了。


【代码】

#include<cstdio>
#include<cstring>
char s[1000010];
int next[1000010];
int main()
{
    int i,j,k,m,n,p,q,x,y,z,l;
    scanf("%d%s",&l,s+1);
    for (i=2,j=0;i<=l;i++)
    {
        while (j&&s[i]!=s[j+1]) j=next[j];
        if (s[i]==s[j+1]) j++;
        next[i]=j;
    }
    printf("%d\n",l-next[l]);
}
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:70581次
    • 积分:5545
    • 等级:
    • 排名:第4931名
    • 原创:505篇
    • 转载:1篇
    • 译文:0篇
    • 评论:43条
    联系方式
    QQ:3052857822
    Email:Orion_Rigel@outlook.com