#P12571. [UOI 2023] An Array of Characters and Almost Palindromes【交互库尚未配置】
[UOI 2023] An Array of Characters and Almost Palindromes【交互库尚未配置】
Description
这是一道交互题。
如果一个字符串从正反两个方向读都相同,则称其为回文串。形式化地说,长度为 的字符串 是回文串当且仅当对所有 都有 。例如,字符串 gg、ara、abacaba 和 rotator 是回文串,而 array、palindrome 和 uoi 不是。
我们称一个字符串为近回文串,如果可以通过重新排列其字符使其成为回文串。例如,字符串 n、ara、arr 和 array 是近回文串,而 palindrome、uoi 和 random 不是。
字符串的子串是指通过从开头和结尾删除若干(可能为零)个字符后得到的字符串。
定义 为字符串 的所有非近回文串子串中的最大长度,若不存在这样的子串则返回 。
给定一个由小写拉丁字母组成的长度为 的字符串 ,以及 个形如 , 的查询。对于每个查询,计算 的值,其中 表示由字符 组成的子串。
Input Format
第一行包含一个整数 ()——字符串的长度。
第二行包含一个由 个小写拉丁字母组成的字符串 。
第三行包含一个整数 ()——查询的数量。
第四行包含两个整数 ()——第一个查询的参数。
后续查询的参数将由评测程序给出(见交互协议部分)。
交互协议
评测程序将从第二个查询开始,逐行输出每个查询的两个整数 , ()。
评测程序在读取到你的程序对前一个查询的响应后,才会输出下一个查询的参数。
请确保在每次输出后调用刷新函数。可以使用以下方法:
- C++:
fflush(stdout)、cout << endl或cout.flush(); - Java:
System.out.flush(); - Pascal:
flush(output); - Python:
sys.stdout.flush(); - 其他编程语言请参考相关文档。
Output Format
对于每个查询,输出一行一个整数—— 的值。
8
aabaaaba
3
3 7
1 8
4 4
4
6
0
Hint
在第一个样例中,需要回答三个查询:
baaab,其子串aaab长度为 4,不是近回文串;aabaaaba,其子串aabaaa长度为 6,不是近回文串;a,其所有子串都是近回文串。
评分标准
- ( 分):,,, 为偶数, 形如
aabbaabbaa...; - ( 分):,,,;
- ( 分):,,,;
- ( 分):,,;
- ( 分): 仅包含字母
a和b; - ( 分):对所有 ,;
- ( 分):对所有 ,;
- ( 分): 仅包含字母
a、b、c、d、e和f; - ( 分):对所有 , 为奇数;
- ( 分):无额外限制。
翻译由 DeepSeek V3 完成
京公网安备 11011102002149号