luogu#P16693. Tokitsukaze and Palindrome Border
Tokitsukaze and Palindrome Border
背景

但由于一些原因,本题未能出现在 Codeforces Round 789 中。
题目描述
给定一个字符串 。定义:
- 表示 长度为 的前缀子串;
- 表示 长度为 的后缀子串;
- 表示字符串 的长度。
对于任意两个字符串 和 ,定义函数 为:
$$f(s, t) = \sum_{len=1}^{\min(|s|, |t|)} \operatorname{val}(len)$$其中, 的计算方式如下:
$$\operatorname{val}(len) = \begin{cases} len, & \text{若 } \operatorname{pre}(s, len) = \operatorname{suf}(t, len) \text{ 且 } \operatorname{pre}(s, len) \text{ 是回文串} \\ 0, & \text{其他情况} \end{cases}$$注: 回文串是指正着读和反着读都相同的字符串,例如 a、aa 或 aba。
现在 Tokitsukaze 有 个字符串 。同时,她提出了 个询问。 每个询问将给出一个包含 个正整数的集合 ,表示被禁用的字符串下标。对于每个询问,求:
输入格式
第一行包含一个整数 (),表示字符串的数量。
接下来 行,每行包含一个由小写字母组成的字符串 ()。
接下来一行包含一个正整数 (),表示询问的数量。
接下来的 行,每行包含 个整数表示一个询问。第一个整数是 (),紧接着 个互不相同的正整数 (),表示被禁用的下标集合。
保证 和 都不超过 。
输出格式
对于每个询问,输出一行包含一个整数表示答案。
2
a
aaa
4
0
1 1
1 2
2 1 2
9
6
1
0
3
a
aa
aaba
3
0
2 1 3
1 1
13
3
8
提示
样例一解释:
第一个询问的答案为 $f(s_1,s_1) + f(s_1,s_2) + f(s_2,s_1) + f(s_2,s_2) = 9$。
第二个询问的答案为 。
第三个询问的答案为 。
第四个询问,由于所有下标都被禁用了,所以答案为 。