时间限制:C/C++/Rust/Pascal 7秒,其他语言14秒
空间限制:C/C++/Rust/Pascal 512 M,其他语言1024 M
64bit IO Format: %lld
题目描述
给定长度为

的字符串,有

次操作,每次操作都是以下三种之一
一:

把

的每个位置的字符都替换为字母

, 保证字符串和

都是小写字母
二:

询问子串

的最小循环节长度
三:

询问子串

的最小循环节长度
循环节:假设字符串

的循环节为字符串

,那么将整数个字符串
)
首尾相连就能得到
输入描述:
输入格式:
第一行输入两个整数%2C%20m(1%3C%3Dm%3C%3D1*10%5E%7B6%7D))
第二行输出长度为n且只包含小写字母的字符串
接下来
行每行一个操作,格式和上述一致,保证
输出描述:
对于每次操作2和3,输出最小循环节长度
示例1
输入
复制
8 6
aaabcabc
1 1 3
2 3 8
0 2 4 c
1 4 5
0 3 6 b
2 2 7
说明
四次询问的最小循环节分别为:a, abc, c, cbbbbbb
示例2
输入
复制
18 12
acacqcjjznggzoalyy
2 1 4
1 1 6
0 5 5 a
2 1 6
0 9 9 j
0 10 10 g
2 7 12
2 6 10
0 4 9 z
2 9 13
1 3 11
1 6 6