luogu#P11267. 【MX-S5-T1】王国边缘

【MX-S5-T1】王国边缘

题目背景

原题链接:https://oier.team/problems/89


纷飞白雪零碎了异客的心,在无数的高山外,故人是否还在记忆的流水中,细嗅往年往月的百花?

只是他们在旧地的怀抱中,但有一个人却在海的那一端,潸然泪下……

人都有归属,只是某些人看不到罢了……

约定记号 ScS^c 表示字符串 SS 循环 cc 次拼接而成的字符串。特别地,若 c=c = \infty,则表示字符串 SS 无限循环拼接而成的字符串。

题目描述

异客在一个无限循环的 01\texttt{01} 字符串 T=ST=S^\infty 上进行着他的旅程,其中 SS 的长度为 nnTT 的第 ii 个字符为 TiT_i

异客的视野有限,只能看到后面 mm 个字符。

异客会进行 qq 次旅程,每次起点不同,移动次数也不同。

当异客在 TiT_i 上时:

  • Ti+1i+mT_{i+1\dots i+m} 中存在 1\texttt{1},则异客下一次会移动到其中最远的一个 1\texttt{1} 上。
  • 否则,异客下一次会移动到下一个字符 Ti+1T_{i+1} 上。

你需要告诉异客,他会在哪里停下。由于答案会很大,你只需要告诉他对 109+710^9+7 取模后的结果。

输入格式

第一行,三个正整数 n,m,qn,m,q

第二行,一个长度为 nn01\texttt{01} 字符串 SS

接下来 qq 行,每行两个整数 s,ks, k,表示起点在 TsT_s,移动 kk 次。

输出格式

qq 行,每行一个整数,表示停下的位置对 109+710^9+7 取模后的值。

8 3 2
10001011
1 2
4 3
5
10

提示

【样例解释 #1】

TT 的前 1616 位为 1000101110001011\texttt{1000101110001011}

第一次询问,位置移动为 1251 \to 2 \to 5

第二次询问,位置移动为 479104 \to 7 \to 9 \to 10

【样例 #2】

见附件中的 kingdom/kingdom2.inkingdom/kingdom2.ans

【样例 #3】

见附件中的 kingdom/kingdom3.inkingdom/kingdom3.ans

该组样例满足测试点 55 的约束条件。

【样例 #4】

见附件中的 kingdom/kingdom4.inkingdom/kingdom4.ans

该组样例满足测试点 9109\sim 10 的约束条件。

【样例 #5】

见附件中的 kingdom/kingdom5.inkingdom/kingdom5.ans

该组样例满足测试点 182018\sim 20 的约束条件。

【数据范围】

对于所有测试数据,保证:1n2×1051 \le n \le 2 \times 10^{5}1m10181 \le m \le 10^{18}1q2×1051 \le q \le 2 \times 10^51s10181 \le s \le 10^{18}0k10180 \le k \le 10^{18}

测试点编号 nn \le mm \le qq \le ss \le kk \le 特殊性质
11 2×1052\times 10^5 10910^9 2×1052\times 10^5 10910^9 00
22 101810^{18} 101810^{18}
343\sim 4 10910^9 10910^9 SS0n\texttt{0}^n1n\texttt{1}^n
55 101810^{18} 101810^{18}
686\sim 8 10210^2 n n 10210^2 nn 10210^2
9109\sim 10 3×1033\times 10^3 3×1033\times 10^3 3×1033\times 10^3
111211\sim 12 2×1052\times 10^5 nn 2×1052\times 10^5 11
131413\sim 14 101810^{18} 101810^{18}
151715\sim 17 10910^9 10910^9
182018 \sim 20 101810^{18} 101810^{18}