1606: A Horrible Poem

题目描述


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

输入


第一行一个正整数
n
n,表示
S
S 的长度。
第二行
n
n 个小写英文字母,表示字符串
S
S 。
第三行一个正整数
q
q ,表示询问个数。
下面
q
q 行每行两个正整数
a,b
a,b ,表示询问字符串
S[a..b]
S[a..b] 的最短循环节长度。

输出


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

样例输入


8
aaabcabc
3
1 3
3 8
4 8

样例输出


1
3
5

提示


数据范围与提示
1 \le a \le b \le n \le {5\times 10^5} ,
1≤a≤b≤n≤5×105,
q \le {2\times 10 ^ 6}
q≤2×106。

来源/分类


ybttg hash 数论

请先 登录 后评论
  • 0 关注
  • 0 收藏,461 浏览
  • 轩爸 提出于 2019-08-02 22:14