| 题目名称 | 3430. 字符串周期(Period) |
|---|---|
| 输入输出 | strperiod.in/out |
| 难度等级 | ★★☆ |
| 时间限制 | 1000 ms (1 s) |
| 内存限制 | 256 MiB |
| 测试数据 | 7 |
| 题目来源 |
|
| 开放分组 | 全部用户 |
| 提交状态 | |
| 分类标签 | |
| 分享题解 |
| 通过:16, 提交:22, 通过率:72.73% | ||||
|
|
100 | 0.021 s | 1.50 MiB | C++ |
|
|
100 | 0.023 s | 1.31 MiB | C++ |
|
|
100 | 0.024 s | 2.63 MiB | C++ |
|
|
100 | 0.024 s | 2.63 MiB | C++ |
|
|
100 | 0.028 s | 4.04 MiB | C++ |
|
|
100 | 0.032 s | 2.30 MiB | C++ |
|
|
100 | 0.036 s | 1.93 MiB | C++ |
|
|
100 | 0.039 s | 2.63 MiB | C++ |
|
|
100 | 0.056 s | 2.63 MiB | C++ |
|
|
100 | 0.133 s | 4.93 MiB | C++ |
| 关于 字符串周期(Period) 的近10条评论(全部评论) | ||||
|---|---|---|---|---|
|
做题的时候碰到了这个 trick,然鹅不会了QAQ,复习一下,顺手修复了一下题面的 MathJax
![]() | ||||
如果一个字符串 $S$ 是由一个字符串 $T$ 重复 $K$ 次形成的,则称 $T$ 是 $S$ 的循环元。使 $K$ 最大的字符串 $T$ 称为 $S$ 的最小循环元,此时 $K$ 称为最大循环次数。
现在给定一个长度为 $N$ 的字符串 $S$,对 $S$ 的每一个前缀 $S[1\sim i]$,如果它的最大循环次数大于 $1$,则输出该前缀的长度和最大循环次数。
第一行,一个整数 $N$ 表示字符串 $S$ 长度。
第二行,字符串 $S$。
输出有多行,每行用空格隔开的两个整数,分别表示符合条件的前缀长度和最大循环次数。
前缀长度需要升序排列。
3 aaa
2 2 3 3
12 aabaabaabaab
2 2 6 2 9 3 12 4
输入保证有答案。
$2≤N≤1000000$;
《算法竞赛进阶指南》