当前位置: 首页 > news >正文

资阳房地产网站建设公司的网站

资阳房地产网站建设,公司的网站,全屋定制哪个网站好,平面广告设计作品集1.题目描述一个字符串的前缀是从第一个字符开始的连续若干个字符,例如 abaab 共有 55 个前缀,分别是 a,ab,aba,abaa,abaab。我们希望知道一个 N 位字符串 S 的前缀是否具有循环节。换言之,对于每…

1.题目描述

一个字符串的前缀是从第一个字符开始的连续若干个字符,例如 abaab 共有 55 个前缀,分别是 aababaabaaabaab

我们希望知道一个 N 位字符串 S 的前缀是否具有循环节。

换言之,对于每一个从头开始的长度为 ii>1)的前缀,是否由重复出现的子串 A 组成,即 AAA…AA 重复出现 K 次,K>1)。

如果存在,请找出最短的循环节对应的 K 值(也就是这个前缀串的所有可能重复节中,最大的 K值)。

输入格式

输入包括多组测试数据,每组测试数据包括两行。

第一行输入字符串 S 的长度 N

第二行输入字符串 S

输入数据以只包括一个 0 的行作为结尾。

输出格式

对于每组测试数据,第一行输出 Test case # 和测试数据的编号。

接下来的每一行,输出具有循环节的前缀的长度 i 和其对应 K,中间用一个空格隔开。

前缀长度需要升序排列。

在每组测试数据的最后输出一个空行。

数据范围

2≤N≤1000000

输入样例:

3
aaa
4
abcd
12
aabaabaabaab
0

输出样例:

Test case #1
2 2
3 3
Test case #2
Test case #3
2 2
6 2
9 3
12 4

2.思路解析

不清楚kmp的可以先看下这篇

https://blog.csdn.net/m0_68055637/article/details/128596380

首先发现一个性质,对字符串S自己匹配求出next数组,然后根据定义,对于每一个i,s[i-next[i]+1~i]与s[1~next[i]]是相等的,而且不存在更大的next值满足条件.

既然如此的话,那么我们发现当i-next[i]能够整除i时候,那么s[1~i-next[i]]就是s[i-1]的最小循环元,至于次数那么也就是i/(i-next[i]).

3.代码

import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner sc=new Scanner(System.in);num=0;while(true){int n=sc.nextInt();if(n==0){break;}String str1=sc.next();num++;System.out.println("Test case #"+num);shuchu(n,str1);System.out.println();}}public static int num;public static void shuchu(int n,String str){//KMP的next的数组int[]next=new int[n];//此处next的数组是使用最大长度表实现 跟next[0]=-1意义不同next[0]=0;for (int i = 1,j=0; i <n ; i++) {while(j>0 &&str.charAt(j)!=str.charAt(i)){j= next[j-1];}if(str.charAt(i)==str.charAt(j)){j++;}next[i]=j;if(next[i]!=0){//i+1是当前字符串的长度 i+1-next[i]是这个字符串重复的子串的长度if((i+1)%(i+1-next[i])==0){ int temp=(i+1)/(i+1-next[i]); //个数System.out.println((i+1)+" "+temp);}}}}
}
感谢你能看完, 如有错误欢迎评论指正,有好的思路可以交流一波,如果对你有帮助的话,点个赞支持下
http://www.mnyf.cn/news/13819.html

相关文章:

  • 好的网站模板网络营销和传统营销的关系
  • 做标书有什么好的网站吗怎么找拉新推广平台
  • 广告手机网站制作seo是什么车
  • 广州牌具做网站的公司免费的推广引流软件下载
  • 电子购物网站建设视频实时疫情最新消息数据
  • 网站与网页之间的区别是什么网络优化是做啥的
  • 贵阳网站建设黔搜营销软文300字范文
  • 先做网页设计还是先弄网站自媒体有哪些平台
  • 系统网站自助建站360上网安全导航
  • 网站制作费计入哪个科目太原seo软件
  • 怎么做购物网站的分类目录推广方案框架
  • 北京网站建设yi wl网上培训机构
  • 江苏建站系统seo算法入门教程
  • 网站开发工程师任职资格哪里可以接广告
  • 能打开的网站百度销售推广
  • flash网站怎么做网络整合营销是什么意思
  • 网站开发和c语言广州seo网站优化培训
  • 一级a做爰片免费网站给我看看免费找客户软件
  • 婚介交友网站建设免费seo快速排名系统
  • 公司网站域名到期排名优化百度
  • 郑州网站建设 服务创业阜平网站seo
  • 连云港公司做网站百度推广咨询
  • 北京城建道桥建设有限公司网站外包公司到底值不值得去
  • 做像58同城这样的网站能用mysql数据库吗西安seo和网络推广
  • 做网站前途如何南昌seo全网营销
  • 百度sitemap wordpressseo概念
  • vue做的网站多么网站访问量统计工具
  • 旅游网站建设方案搜索引擎关键词优化
  • 企业进行网站建设的重要意义国内最好用免费建站系统
  • 公众号建网站石家庄seo代理商