Creator:
原题来自:POI 2012
给出一个由小写英文字母组成的字符串 S S S,再给出 q q q 个询问,要求回答 S S S 某个子串的最短循环节。
如果字符串 B B B 是字符串 A A A 的循环节,那么 A A A 可以由 B B B 重复若干次得到。
第一行一个正整数 n n n,表示 S S S 的长度。 第二行 n n n 个小写英文字母,表示字符串 S S S 。 第三行一个正整数 q q q ,表示询问个数。 下面 q q q 行每行两个正整数 a,b a,b a,b ,表示询问字符串 S[a..b] S[a..b] S[a..b] 的最短循环节长度。
依次输出 q q q 行正整数,第 i i i 行的正整数对应第 i i i 个询问的答案。
8 aaabcabc 3 1 3 3 8 4 8
1 3 5
1≤a≤b≤n≤5×105, 1 \le a \le b \le n \le {5\times 10^5} ,1≤a≤b≤n≤5×105, q≤2×106 q \le {2\times 10 ^ 6} q≤2×106。