题目名称 1711. [SPOJ 687] 重复的字符串
输入输出 repeats.in/out
难度等级 ★★☆
时间限制 1000 ms (1 s)
内存限制 256 MiB
测试数据 10
题目来源 Gravatarcstdio 于2014-09-23加入
开放分组 全部用户
提交状态
分类标签
分享题解
通过:42, 提交:130, 通过率:32.31%
GravatarONCE AGAIN 100 2.090 s 4.53 MiB C++
Gravataryourfather 100 2.104 s 4.53 MiB C++
Gravatar_Itachi 100 2.195 s 5.63 MiB C++
GravatarGo灬Fire 100 2.588 s 10.25 MiB C++
GravatarHzoi_Ivan 100 2.592 s 3.42 MiB C++
GravatarHzoi_Ivan 100 2.600 s 3.42 MiB C++
GravatarHzoi_Ivan 100 2.600 s 3.42 MiB C++
GravatarHzoi_Ivan 100 2.695 s 5.71 MiB C++
Gravatar可以的. 100 3.787 s 14.50 MiB C++
Gravatarniconicoqaq 100 4.023 s 5.13 MiB C++
关于 重复的字符串 的近10条评论(全部评论)
闹心的读入,你放一行上就不行吗
Gravatarstone
2016-03-29 17:08 5楼
论如何优雅的wa
Gravatarmikumikumi
2016-01-12 11:48 4楼
为什么不清空wa,wb数组就会出错???
Gravatarzys
2015-12-22 11:49 3楼
n*n的暴力水过了
Gravatarstdafx.h
2015-12-22 09:33 2楼
没有清空数组QAQ。。
但是居然只错了一个。。
Nlong^2N的后缀数组就是慢QAQ
GravatarHouJikan
2015-03-31 16:50 1楼

1711. [SPOJ 687] 重复的字符串

★★☆   输入文件:repeats.in   输出文件:repeats.out   简单对比
时间限制:1 s   内存限制:256 MiB

【题目描述】

字符串s被称作一个(k,l)-重复,如果s可以通过重复k>=1次某个长度l>=1的“种子字符串”t得到。例如,字符串

s = abaabaabaaba

是一个(4,3)-重复,其中t = aba是它的种子字符串。也就是说,种子字符串t的长度是3,并且将t重复4遍就能得到s。

写一个程序完成以下任务:给定一个仅包含字母'a','b'的字符串u。找到u的子串中所有(k,l)-重复的k的最大值。例如,字符串

u = babbabaabaabaabab

从第5个字符开始有一个(4,3)-重复。因为u不包含其它重复4次以上的子串,所以所求的最大k值即为4.

【输入格式】

第一行一个整数H,即数据组数(H<=20)。接下来是H组数据,格式如下:

第一行有一个整数N,即字符串的长度(N<=50000),接下来的N行每行有一个字母,是'a','b'之一。

【输出格式】

对每组数据,输出一行一个整数k,即最大的重复次数。

【样例输入】

1

17

b

a

b

b

a

b

a

a

b

a

a

b

a

a

b

a

b

【样例输出】

4

【提示】

从第5个字符开始是一个(4,3)-重复。

【来源】

SPOJ 687 Repeats