字符循环节

成绩 100 开启时间 2020年06月18日 星期四 10:35
折扣 0.8 折扣时间 2020年06月18日 星期四 10:35
允许迟交 关闭时间 2020年06月18日 星期四 10:35
输入文件 string3.in 输出文件 string3.out

【题目描述】字符循环节(string3)BZOJ 2795

给出一个由小写英文字母组成的字符串S,再给出q个询问,要求回答S某个子串的最短循环节。如果字符串B是字符串A的循环节,那么A可以由B重复若干次得到。

【输入格式】

第一行一个正整数n (n≤500 000),表示S的长度。

第二行n个小写英文字母,表示字符串S。

第三行一个正整数q (q≤2 000 000),表示询问个数。

下面q行每行两个正整数a,b (1≤a≤b≤n),表示询问字符串S[a..b]的最短循环节长度。

【输出格式】

依次输出q行正整数,第i行的正整数对应第i个询问的答案。

【输入样例】

8

aaabcabc

3

1 3

3 8

4 8

【输出样例】

1

3

5