CFCF2164H.PalindromePalindrome
NOI/NOI+/CTSC
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
我们定义字符串 t 的幽默值为:在 t 中至少出现两次的最长回文子串的长度。
具体地,对于一个字符串 t,只有当以下两个条件同时满足时,字符串 p 才称为 t 的幽默字符串:
- p 是回文串;
- 存在至少两个不同的下标 i∈[1,∣t∣−∣p∣+1],使得 t[i,i+∣p∣−1]=p。
字符串 t 的幽默值定义为:所有 t 的幽默字符串中最大长度。
现给定一个长度为 n 只包含小写英文字母的字符串 s 以及 q 个询问。每个询问包含两个整数 li、ri,你需要求出 s[li,ri] 的幽默值。
这里 a[l,r] 表示字符串 al,al+1,…,ar。
输入格式
第一行包含两个整数 n、q(1≤n,q≤5×105)。
第二行包含一个字符串 s。
接下来的 q 行,每行包含两个整数 li、ri(1≤li≤ri≤n),表示一次询问。
输出格式
对于第 i 个询问,输出一行答案。
输入输出样例
输入#1
12 6 aaaabbbbaaaa 1 12 2 7 3 10 4 7 5 9 4 5
输出#1
4 2 3 2 3 0
说明/提示
对于第一个询问,下列回文串至少出现了两次:a、aa、aaa、aaaa、b、bb、bbb。最长的是 aaaa,所以幽默值为 4。
对于第二个询问,s[2,7] 的最长幽默字符串之一是 aa。