纸老虎序列¶
预估时间限制:0.5 秒。内存限制:16 MB。
实际时限以标准程序在目标评测环境的最慢用例中位时间乘以 \(2\) ,按 \(0.5\) 秒向上取整。参考环境见评测说明。
背景故事¶
档案员给一条“纸老虎”纸条增加内容:每次从当前文字中循环抄取一小段,接到最前面。现在需要按编号找回若干个历史版本。
(本故事由GPT-6重写)
形式化问题描述¶
初始字符串为 \(S_0\) .进行 \(N\) 次增长,第 \(i\) 次使用参数 \(p_i\) ,由 \(S_{i-1}\) 得到 \(S_i\) .字符串下标从 \(0\) 开始。
设当前长度为 \(L=|S_{i-1}|\) ,新增长度为
依次抄取字符 \(S_{i-1}[(p_i+k)\bmod L]\) ,其中 \(k=0,1,\ldots,D-1\) ,组成字符串 \(T_i\) .令
其中 \(+\) 表示字符串连接。所有抄取都使用增长前的字符串,遇到末尾后从开头继续。
给定 \(M\) 个两两不同的版本编号,按询问顺序输出对应字符串。
输入格式¶
第一行是非空字符串 \(S_0\) ,仅含英文字母和数字,大小写有区别。
第二行是 \(N,M\) .接下来 \(N\) 行依次给出 \(p_1,\ldots,p_N\) .再接下来 \(M\) 行,每行一个版本编号 \(q\) .
输出格式¶
输出 \(M\) 行,每行是一次询问对应的完整字符串 \(S_q\) .\(M=0\) 时输出为空。
样例¶
样例 1¶
输入¶
0123456789
5 6
8
10
12
14
15
5
4
3
2
1
0
输出¶
345676789789898890123456789
6789789898890123456789
789898890123456789
898890123456789
890123456789
0123456789
样例 2¶
输入¶
A
0 1
0
输出¶
A
样例 3¶
输入¶
abcde
2 3
4
5
2
0
1
输出¶
eeeabcde
abcde
eabcde
样例解释¶
第一组保留了全部六个版本,并按编号从大到小输出。第二组不进行增长。
第三组中,第一次从下标 \(4\) 抄取一个字符 e ,得到 eabcde .第二次新增两个字符,从下标 \(5\) 开始循环抄取得到 ee ,因此新串为 eeeabcde .
数据范围与保证¶
\(1\le |S_0|\le10\) ,\(0\le N\le70\) ,\(0\le p_i\le10^9\) .
\(0\le M\le N+1\) ,每个版本编号满足 \(0\le q\le N\) ,询问编号两两不同。
| 分值比例 | 额外条件 |
|---|---|
| 100% | 无额外条件 |