#Q1103. 炼石计划NOIP模拟赛第11套题目T3 二进制回文字符串

炼石计划NOIP模拟赛第11套题目T3 二进制回文字符串

T3 二进制回文字符串

题目信息

时间限制: 1s

空间限制: 256M

输入文件: manacher.in

输出文件: manacher.out

题目描述

称一个长度为 2k2^k 的字符串 ss 是二进制回文的,当且仅当 i[0,2k)\forall i\in [0, 2^k),记 ii 写成 kk 位二进制数后为 a1a2ak\overline{a_1 a_2 \ldots a_k},对于十进制数 j=akak1a1j=\overline{a_k a_{k-1} \ldots a_1},有 si=sjs_i=s_j。注意 ss 的下标从 0 开始,描述 kk 位二进制数时前导 0 不可忽略。

给出一个长度为 nn 的由小写字母组成的字符串 tt,请回答以下格式的 QQ 个询问:

  • 给出两个数 p,k(0p<n,k19)p, k(0\leq p< n, k\leq 19),求 tt 的子串 tptp+1tp+2k1t_pt_{p+1}\dots t_{p+2^k-1} 是否是二进制回文的。注意,处理询问时需要认为子串 tptp+1tp+2k1t_pt_{p+1}\dots t_{p+2^k-1} 的下标范围是 [0,2k)[0, 2^k),若 p+2k>np+2^k > n,则直接认为该询问的子串不是二进制回文的。

输入格式

第一行两个正整数 n,Q(1n,Q5×105)n, Q\left(1 \leq n, Q \leq 5 \times 10^5\right),含义如题所示。

第二行一个长度为 nn 的字符串 tt,保证 tt 仅由小写字母组成。

接下来 QQ 行每行两个正整数 p,k(0p<n,k19)p, k(0 \leq p<n, k \leq 19),表示一个询问。

输出格式

对于每个询问,若对应子串是二进制回文的,输出 1,否则输出 0

样例

样例输入 1

8 4
axxyxxyb
0 3
1 1
0 2
3 2

样例输出 1

1
1
1
1

数据范围与提示

对于所有数据 1n,Q5×1051 \leq n, Q \leq 5 \times 10^5

子任务编号 分值 其他限制
1 13 n,Q1000n, Q \leq 1000
2 37 n,Q100000n, Q \leq 100000
3 17 保证 ss 仅包含 a\mathrm{a}b\mathrm{b}
4 33