CFCF2164H.PalindromePalindrome

NOI/NOI+/CTSC

通过率:0%

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

我们定义字符串 tt 的幽默值为:在 tt 中至少出现两次的最长回文子串的长度。

具体地,对于一个字符串 tt,只有当以下两个条件同时满足时,字符串 pp 才称为 tt 的幽默字符串:

  1. pp 是回文串;
  2. 存在至少两个不同的下标 i[1,tp+1]i \in [1, |t| - |p| + 1],使得 t[i,i+p1]=pt[i, i + |p| - 1] = p

字符串 tt 的幽默值定义为:所有 tt 的幽默字符串中最大长度。

现给定一个长度为 nn 只包含小写英文字母的字符串 ss 以及 qq 个询问。每个询问包含两个整数 lil_irir_i,你需要求出 s[li,ri]s[l_i, r_i] 的幽默值。

这里 a[l,r]a[l, r] 表示字符串 al,al+1,,ara_l,a_{l+1},\ldots,a_r

输入格式

第一行包含两个整数 nnqq1n,q5×1051\le n,q\le 5\times10^5)。

第二行包含一个字符串 ss

接下来的 qq 行,每行包含两个整数 lil_irir_i1lirin1\le l_i\le r_i\le n),表示一次询问。

输出格式

对于第 ii 个询问,输出一行答案。

输入输出样例

  • 输入#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,所以幽默值为 44

对于第二个询问,s[2,7]s[2, 7] 的最长幽默字符串之一是 aa。

首页