D. 周期 (period)

    传统题 文件IO:period 2000ms 256MiB

周期 (period)

该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。

题目描述

对于一个字符串 w=w1w2wlenw=w_1 w_2 \ldots w_{len},我们称正整数 p (1plen)p\ (1\le p\le len)ww 的周期,当且仅当对于任意的 i (1ilenp)i\ (1 \leq i \leq len -p) 都有 wi=wi+pw_i=w_{i+p}

小 Z 有一个长度为 nn 的字符串 d=d1d2dnd=d_1 d_2 \ldots d_n,他用这个字符串生成了 n+1n+1 个字符串 S0,S1,S2,,SnS_0, S_1, S_2, \ldots, S_n,其中 S0S_0 是空串。接下来,对于每个 i (1in)i\ (1 \leq i \leq n)

  • 如果 did_i 是一个小写英文字符,那么 Si=di+Si1S_i=d_i+S_{i-1} ,也就是在 Si1S_{i-1} 前面添加字符 did_i 得到 SiS_i
  • 如果 did_i 是一个大写英文字符,那么假设 did_i 的小写形式是 cic_i,那么 Si=Si1+ciS_i=S_{i-1}+c_i,也就是在 Si1S_{i-1} 后面添加字符 cic_i 得到 SiS_i

小 Y 有 mm 个整数 p1,p2,,pmp_1, p_2, \ldots, p_m,并向你问了 qq 个问题:

ii 个问题会提供三个参数 ki,li,rik_i, l_i, r_i ,请你找出最小的整数 xx,使得 xxSkiS_{k_i} 的周期,并且 xxpli,pli+1,,pri1,prip_{l_i}, p_{l_i+1}, \ldots, p_{r_i-1}, p_{r_i} 中的某个数。如果你找不到这样的整数 xx,输出 1-1

输入格式

period.in 文件读入数据。

第一行一个整数 nn

第二行一个长度为 nn 的字符串d=d1d2dnd=d_1 d_2 \ldots d_n,由大写和小写的英文字符构成。

第三行一个整数 mm

第四行 mm 个整数 p1,p2,,pmp_1,p_2,\cdots,p_m

第五行一个整数 qq

接下来 qq 行,每行三个整数 ki,li,rik_i,l_i,r_i ,代表第 ii 个询问。

输出格式

输出到 period.out 文件。

对于每个询问,输出一行一个整数,代表答案。

样例

7
AABAAba
9
4 3 2 1 7 5 3 6 1
6
1 4 4
2 1 4
2 1 3
3 3 5
5 4 7
7 8 9
1
1
2
-1
3
6

样例 2

点击链接 ex_period2.inex_period2.out 下载大样例 2 的输入数据和输出数据。

数据范围

对于所有数据,$1\le n,m,q\le 5\times 10^5,1\le p_i,k_i\le n,1\le l_i\le r_i\le m$

子任务 分数 附加约束条件
11 1010 m3,n1000m\le 3,n\le 1000
22 1515 n,m,q100n,m,q\le 100
33 2020 对任意询问都有 rili100r_i-l_i\le 100
44 2525 对任意 i{2,3,,m},pipi1i\in \{2,3,\cdots,m\},p_i\ge p_{i-1}
55 3030 无附加限制

0715A/A+

未参加
状态
已结束
规则
IOI
题目
4
开始于
2026-7-15 14:30
结束于
2026-7-15 17:30
持续时间
3 小时
主持人
参赛人数
43