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

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

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

题目描述

这是一道交互题。

如果一个字符串从正反两个方向读都相同,则称其为回文串。形式化地说,长度为 nn 的字符串 ss 是回文串当且仅当对所有 1≤i≤n1 \le i \le n 都有 si=sn−i+1s_i = s_{n-i+1}。例如,字符串 gg、ara、abacaba 和 rotator 是回文串,而 array、palindrome 和 uoi 不是。

我们称一个字符串为近回文串,如果可以通过重新排列其字符使其成为回文串。例如,字符串 n、ara、arr 和 array 是近回文串,而 palindrome、uoi 和 random 不是。

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

定义 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} 组成的子串。

输入格式

第一行包含一个整数 nn(1≤n≤2⋅1051 \le n \le 2\cdot 10^5)——字符串的长度。

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

第三行包含一个整数 qq(1≤q≤2⋅1051 \le q \le 2\cdot 10^5)——查询的数量。

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

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

交互协议

评测程序将从第二个查询开始,逐行输出每个查询的两个整数 lil_i, rir_i(1≤li≤ri≤n1 \le l_i \le r_i \le n)。

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

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

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

输出格式

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

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

提示

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

  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=1,l1=1l_1=1,r1=nr_1=n,nn 为偶数,ss 形如 aabbaabbaa...;
  • (99 分):q=1q=1,l1=1l_1=1,r1=nr_1=n,n≤200n \le 200;
  • (55 分):q=1q=1,l1=1l_1=1,r1=nr_1=n,n≤5000n \le 5000;
  • (88 分):q=1q=1,l1=1l_1=1,r1=nr_1=n;
  • (1010 分):ss 仅包含字母 a 和 b;
  • (88 分):对所有 1≤i≤q1 \le i \le q,sli≠sris_{l_i} \neq s_{r_i};
  • (77 分):对所有 1≤i<n1 \le i < n,si≠si+1s_i \neq s_{i+1};
  • (1010 分):ss 仅包含字母 a、b、c、d、e 和 f;
  • (1818 分):对所有 1≤i≤q1 \le i \le q,(ri−li+1)(r_i-l_i+1) 为奇数;
  • (1919 分):无额外限制。

翻译由 DeepSeek V3 完成