#P12571. [UOI 2023] An Array of Characters and Almost Palindromes【交互库尚未配置】

    ID: 12424 远端评测题 4000ms 256MiB 尝试: 0 已通过: 0 难度: (无) 上传者: 标签>2023交互题Special JudgeUOI(乌克兰)

[UOI 2023] An Array of Characters and Almost Palindromes【交互库尚未配置】

Description

这是一道交互题。

如果一个字符串从正反两个方向读都相同,则称其为回文串。形式化地说,长度为 nn 的字符串 ss 是回文串当且仅当对所有 1in1 \le i \le n 都有 si=sni+1s_i = s_{n-i+1}。例如,字符串 ggaraabacabarotator 是回文串,而 arraypalindromeuoi 不是。

我们称一个字符串为近回文串,如果可以通过重新排列其字符使其成为回文串。例如,字符串 naraarrarray 是近回文串,而 palindromeuoirandom 不是。

字符串的子串是指通过从开头和结尾删除若干(可能为零)个字符后得到的字符串。

定义 f(s)f(s) 为字符串 ss 的所有近回文串子串中的最大长度,若不存在这样的子串则返回 00

给定一个由小写拉丁字母组成的长度为 nn 的字符串 ss,以及 qq 个形如 lil_i, rir_i 的查询。对于每个查询,计算 f(s[li..ri])f(s[l_i..r_i]) 的值,其中 s[li..ri]s[l_i..r_i] 表示由字符 sli,sli+1,,sris_{l_i}, s_{l_{i} + 1}, \ldots, s_{r_i} 组成的子串。

Input Format

第一行包含一个整数 nn1n21051 \le n \le 2\cdot 10^5)——字符串的长度。

第二行包含一个由 nn 个小写拉丁字母组成的字符串 ss

第三行包含一个整数 qq1q21051 \le q \le 2\cdot 10^5)——查询的数量。

第四行包含两个整数 l1,r1l_1, r_11l1r1n1 \leq l_1 \leq r_1 \leq n)——第一个查询的参数。

后续查询的参数将由评测程序给出(见交互协议部分)。

交互协议

评测程序将从第二个查询开始,逐行输出每个查询的两个整数 lil_i, rir_i1lirin1 \le l_i \le r_i \le n)。

评测程序在读取到你的程序对前一个查询的响应后,才会输出下一个查询的参数。

请确保在每次输出后调用刷新函数。可以使用以下方法:

  • C++:fflush(stdout)cout << endlcout.flush()
  • Java:System.out.flush()
  • Pascal:flush(output)
  • Python:sys.stdout.flush()
  • 其他编程语言请参考相关文档。

Output Format

对于每个查询,输出一行一个整数——f(s[li..ri])f(s[l_i..r_i]) 的值。

8
aabaaaba
3
3 7
1 8
4 4
4
6
0

Hint

在第一个样例中,需要回答三个查询:

  1. s[3..7]=  s[3..7] =\;baaab,其子串 aaab 长度为 4,不是近回文串
  2. s[1..8]=  s[1..8] =\;aabaaaba,其子串 aabaaa 长度为 6,不是近回文串
  3. s[4..4]=  s[4..4] =\;a,其所有子串都是近回文串

评分标准

  • 66 分):q=1q=1l1=1l_1=1r1=nr_1=nnn 为偶数,ss 形如 aabbaabbaa...
  • 99 分):q=1q=1l1=1l_1=1r1=nr_1=nn200n \le 200
  • 55 分):q=1q=1l1=1l_1=1r1=nr_1=nn5000n \le 5000
  • 88 分):q=1q=1l1=1l_1=1r1=nr_1=n
  • 1010 分):ss 仅包含字母 ab
  • 88 分):对所有 1iq1 \le i \le qslisris_{l_i} \neq s_{r_i}
  • 77 分):对所有 1i<n1 \le i < nsisi+1s_i \neq s_{i+1}
  • 1010 分):ss 仅包含字母 abcdef
  • 1818 分):对所有 1iq1 \le i \le q(rili+1)(r_i-l_i+1) 为奇数;
  • 1919 分):无额外限制。

翻译由 DeepSeek V3 完成