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

    ID: 12632 远端评测题 2000ms 512MiB 尝试: 0 已通过: 0 显示难度普及+/提高− 上传者: 标签>倍增O2优化梦熊比赛

【MX-S5-T1】王国边缘

背景

原题链接:https://oier.team/problems/S5A。


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

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

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

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

题目描述

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

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

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

当异客在 TiT_i 上时:

  • 若 Ti+1…i+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。

第二行,一个长度为 nn 的 01\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}。

第一次询问,位置移动为 1→2→51 \to 2 \to 5。

第二次询问,位置移动为 4→7→9→104 \to 7 \to 9 \to 10。

【样例 #2】

见附件中的 kingdom/kingdom2.in 与 kingdom/kingdom2.ans。

【样例 #3】

见附件中的 kingdom/kingdom3.in 与 kingdom/kingdom3.ans。

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

【样例 #4】

见附件中的 kingdom/kingdom4.in 与 kingdom/kingdom4.ans。

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

【样例 #5】

见附件中的 kingdom/kingdom5.in 与 kingdom/kingdom5.ans。

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

【数据范围】

对于所有测试数据,保证:1≤n≤2×1051 \le n \le 2 \times 10^{5},1≤m≤10181 \le m \le 10^{18},1≤q≤2×1051 \le q \le 2 \times 10^5,1≤s≤10181 \le s \le 10^{18},0≤k≤10180 \le k \le 10^{18}。

测试点编号 n≤n \le m≤m \le q≤q \le s≤s \le k≤k \le 特殊性质
11 2×1052\times 10^5 10910^9 2×1052\times 10^5 10910^9 00 无
22 101810^{18} 101810^{18}
3∼43\sim 4 10910^9 10910^9 SS 为 0n\texttt{0}^n 或 1n\texttt{1}^n
55 101810^{18} 101810^{18}
6∼86\sim 8 10210^2 n n 10210^2 nn 10210^2 无
9∼109\sim 10 3×1033\times 10^3 3×1033\times 10^3 3×1033\times 10^3
11∼1211\sim 12 2×1052\times 10^5 nn 2×1052\times 10^5 11
13∼1413\sim 14 101810^{18} 101810^{18}
15∼1715\sim 17 10910^9 10910^9
18∼2018 \sim 20 101810^{18} 101810^{18}