logo AlgoBeat OnlineJudge
登录 注册

#103230. [BZOJ 3230] 相似子串

内存限制:128 MiB 时间限制:20000 ms 标准输入输出
题目类型:传统 评测方式:文本比较
上传者: 匿名

题目描述

对于一个 长度为 的字符串 ,将 本质不同的所有字串按字典序从小到大 排序。

比如串 ababa,共有 个本质不同的字串,按要求排序后得到:

顺序 子串 顺序 子串
1 a 6 b
2 ab 7 ba
3 aba 8 bab
4 abab 9 baba
5 ababa

我们定义两个子串 的相似程度为 的最大值,其中 满足:

接下来,我们要询问的是,排序后的第 个子串和第 个子串的相似程度是多少。

输入格式

输入第 行,包含 个整数 代表询问组数。

行是字符串

接下来 行,每行两个整数 )。

输出格式

输出共 行,每行一个数表示每组询问的答案。如果不存在第 个子串或第 个子串,则输出

样例

样例输入 #1

5 3
ababa
3 5
5 9
8 10

样例输出 #1

18
16
-1

样例说明

  • 第1组询问:两个子串是 aba,ababa
  • 第2组询问:两个子串是 ababa,baba
  • 第3组询问:不存在第 个子串,输出

数据范围与提示

  • 对于 的数据,,字符串只由小写字母 a ~ z 组成。

后缀数组+二分+RMQ