#P11971. 「ALFR Round 7」T4 xor xor

    ID: 11723 远端评测题 1000ms 512MiB 尝试: 0 已通过: 0 难度: 7 上传者: 标签>贪心二分洛谷原创O2优化哈希 hashing洛谷月赛

「ALFR Round 7」T4 xor xor

Description

给定一个长度为 nn 的 01 串 ssqq 次询问:

  • 给定 l,r,kl,r,k,问 s[l,r]s[l,r] 中选两个长度为 kk 的子序列的 xor 最大是多少,01 串看成 22 进制后转成 1010 进制。两个子序列要满足:设第一个子序列下标是 p1,p2,,pkp_1,p_2,\cdots ,p_k,其中 lpirl\le p_i\le r;设第二个子序列下标是 q1,q2,,qkq_1,q_2,\cdots ,q_k,其中 lqirl\le q_i\le r,则对于任意 1i,jk1\le i,j\le kpiqjp_i\neq q_j

最大指的是「01 串看成 22 进制后转成 1010 进制」数值最大。

比如,如果我们 01010101110101010111 中选择了 010101011101\bold{0}1\bold{0}101\bold{1}\bold{1}(前两个是第一个序列,后两个是第二个序列),答案是 (00)2(11)2=(3)10(00)_2\oplus (11)_2=(3)_{10}

由于答案可能过大,所以请输出答案对 109+710^9+7 取模后的结果。

Input Format

第一行输入正整数 n,qn,q

第二行输入字符串 ss

3q+23\sim q+2 行,输入询问中的 l,r,kl,r,k

Output Format

输出 qq 行,表示答案。

10 5
0101001111
1 10 5
1 4 2
4 10 3
1 6 3
7 10 2
30
3
6
6
0

Hint

对于 100%100\% 的数据,1n,q1061\le n,q\le 10^622krl+12\le 2k\le r-l+1ss0,1\tt0,\tt1 构成。

子任务 n,qn,q\le kk\le 特殊性质 分值
11 2020 1010 1010
22 100100 5050
33 10610^6 1010
44 51055\cdot 10^5 A
55 10310^3 500500 2020
66 10610^6 51055\cdot 10^5 4040

特殊性质 A:ss11 的个数 10\le 10k10k \ge 10