您的位置:首页 > 科技 > 能源 > 如何做好网络营销管理_广西网站建设贵吗_打广告去哪个平台_短视频营销案例

如何做好网络营销管理_广西网站建设贵吗_打广告去哪个平台_短视频营销案例

2024/12/26 21:53:18 来源:https://blog.csdn.net/2402_88149600/article/details/144176651  浏览:    关键词:如何做好网络营销管理_广西网站建设贵吗_打广告去哪个平台_短视频营销案例
如何做好网络营销管理_广西网站建设贵吗_打广告去哪个平台_短视频营销案例

[BOI2009] Radio Transmission 无线传输 - 洛谷

[BOI2009] Radio Transmission 无线传输

题目描述

给你一个字符串 s_1,它是由某个字符串 s_2 不断自我连接形成的(保证至少重复 2次)。但是字符串 s_2是不确定的,现在只想知道它的最短长度是多少。

输入格式

第一行一个整数 L,表示给出字符串的长度。 

第二行给出字符串 s_1 的一个子串,全由小写字母组成。

输出格式

仅一行,表示 s_2 的最短长度。

样例 #1

样例输入
8
cabcabca
样例输出
3
提示

样例输入输出 1 解释
对于样例,我们可以利用 abc 不断自我连接得到 abcabcabcabc,读入的 cabcabca,是它的子串。

规模与约定
对于全部的测试点,保证1<= L<= 10^6。

代码区:

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int next[1000005];
int NEXT( char *str,int *next){int i=0,j=-1;next[0]=-1;int len=strlen(str);while(i<len){if(j==-1||str[i]==str[j]){++i;++j;next[i]=j;}else{j=next[j];}}return len-next[len];}
int main(){int n;scanf("%d",&n);char *str=(char*)malloc(sizeof(char)*(n+1));scanf("%s",str);printf("%d",NEXT(str,next));return 0;
}

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com