#P12875. PalindromemordnilaP
PalindromemordnilaP
PalindromemordnilaP
Problem Description
温馨提示:请注意你代码的时间常数。 定义一个字符串 的子串 为,依次拼接 而形成的字符串,其中下标从 开始标号。 定义一个字符串 是广义回文的,当且仅当它能被表示为 ,其中 为任意非空字符串, 为 的正整数,且满足对于任意 ,。 例如,字符串 是广义回文的,因为它可以被表示为 $\texttt{ab}+\texttt{c}+\texttt{ba}+\texttt{c}+\texttt{ab}$。 给定一个长为 ,只包含前 个小写字母的字符串 。你要处理 次查询:
- 给定 ,问 有多少个子串,满足它是广义回文的。 由于出题人懒得造有强度的数据,因此字符串 随机生成。具体的,每个位置上的字符均在前 个小写字母中等概率随机选取。
Input
本题有多组数据。第一行一个正整数 ()表示数据组数。对于每组测试数据: 第一行输入三个正整数 (,,)。 第二行输入字符串 。 接下来 行,每行两个正整数 ()表示一个询问。 保证 ,。
Output
为了减少输出量,对于每组数据,记第 次询问的答案为 ,输出 ,其中 表示按位异或。
Sample Input
1
8 3 2
abcbacab
1 8
2 6
Sample Output
12
Source
2025“钉耙编程”中国大学生算法设计暑期联赛(10)