【MX-X1-T4】「KDOI-05」简单的字符串问题
题目描述
你有一个字符串 $S$。$q$ 个询问,每次给出 $(i,k)$,求有多少个非空字符串 $A$,使得存在可空字符串 $B_1,B_2,\dots,B_{k-1}$ 满足:
$$S[1,i]=AB_1AB_2A\dots AB_{k-1}A$$
其中 $S[1,i]$ 表示 $S$ 的长度为 $i$ 的前缀。
输入输出格式
输入格式
第一行一个正整数 $n$ 表示 $S$ 的长度。
接下来一个长度为 $n$ 且仅包含小写字母的字符串表示 $S$。
接下来一行一个正整数表示 $q$。
接下来 $q$ 行,每行两个正整数表示一个询问的 $i,k$。
输出格式
输出 $q$ 行,每行一个非负整数表示答案。
输入输出样例
输入样例 #1
10
aabaacaaaa
5
5 3
5 2
6 1
10 4
10 5
输出样例 #1
1
2
1
2
1
输入样例 #2
10
bababababa
10
6 1
6 2
6 3
6 4
6 5
10 2
10 3
9 4
5 5
4 2
输出样例 #2
1
1
1
0
0
2
1
1
0
1
说明
**【样例解释 \#1】**
对于第一次询问 $(5,3)$,可以取 $A=\texttt{a}$,$B_1=\varepsilon$,$B_2=\texttt{ba}$,其中 $\varepsilon$ 表示空串。可以证明有且仅有一个合法的 $A$。
**【数据范围】**
**本题采用捆绑测试。**
| 子任务编号 | 分值 | $n,q\leq$ | 特殊性质 |
|:--:|:--:|:--:|:--:|
| $1$ | $5$ | $500$ | 无 |
| $2$ | $10$ | $5000$ | 无 |
| $3$ | $10$ | $2\times10^5$ | $S$ 中字符从 $\tt a,b$ 中随机生成 |
| $4$ | $20$ | $2\times10^5$ | 每个询问的 $k$ 相同 |
| $5$ | $20$ | $5\times10^4$ | 无 |
| $6$ | $35$ | $2\times10^5$ | 无 |
对于 $100\%$ 的数据:$1\leq k\leq i\leq n\leq 2\times 10^5$,$1\leq q\leq 2\times 10^5$,$s$ 仅包含小写字母。