题目 30230

Run 枚举

查看题解 ↗GitHub ↗如何评测
题号
30230
时间限制
10000 ms
内存限制
1024 MB
标签
字符串
来源
Library Checker (yosupo06) - runenumerate

【题目描述】

给定一个长度为 NN 的字符串 SS。请枚举 SS 的所有 run。换言之,请枚举所有满足以下条件的元组 (t,l,r)(t, l, r)。

  • S[l..r−1]S[l..r-1] 的最小周期为 tt,并且满足 r−l≥2tr - l \geq 2t。
  • ll 与 rr 都是极大的。也就是说,(t,l−1,r)(t, l - 1, r) 与 (t,l,r+1)(t, l, r + 1) 都不满足上述条件。

【输入】

输入以如下格式给出:

文本
$S$

【输出】

输出以如下格式给出:

文本
$M$
$t_1$ $l_1$ $r_1$
$t_2$ $l_2$ $r_2$
:
$t_M$ $l_M$ $r_M$

其中 MM 为 run 的个数,各个 run 以 (t,l,r)(t, l, r) 元组的形式按字典序输出。

【输入样例】

文本
abcbcba

【输出样例】

文本
1
2 1 6

【输入样例2】

文本
mississippi

【输出样例2】

文本
4
1 2 4
1 5 7
1 8 10
3 1 8

【输入样例3】

文本
ababacaca

【输出样例3】

文本
2
2 0 5
2 4 9

【输入样例4】

文本
aaaaa

【输出样例4】

文本
1
1 0 5

【数据范围】

  • 1≤N≤200,0001 \leq N \leq 200,000
  • SS 的每个字符都是小写英文字母。

【来源】

Library Checker(yosupo06) runenumerate

数据下载

题目 30230 的公开数据

正在读取文件列表…

常用命令

题目 30230 的 ROJ 命令

以下命令默认使用全局安装的 ROJ Skill,请在终端中直接执行;如果修改过 AGENT_HOME,请将命令中的 ~/.agents 替换为对应目录。