CF589C.Polycarp's Masterpiece
省选/NOI-
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
受乔安娜·罗琳及其《哈利·波特》幻想系列的成功启发,Polycarp 决定创作自己的杰作。他已经为他未来的畅销书取好了名字 —— 字符串 s。
Polycarp 在撰写主线故事时遇到了不少困难,于是决定成为文学界的“马列维奇”,创作属于自己的“黑方块”。
Polycarp 用了 n 天来写作,每天写一章。他首先写下了字符串 s。在接下来的 n 天里,每一天他都执行以下步骤:在第 i 天,他把当前文本 t 的第 ki 次循环移位的结果追加到右边。也就是说,每天他的作品内容长度都会翻倍。
一个字符串 r 的循环移位定义为将 r 最后的一个字符移动到字符串的最前面。例如,“masterpiece”的一次循环移位是“emasterpiec”。字符串 r 的第 i 次循环移位是指对 r 连续执行 i 次循环移位后的结果(比如“masterpiece”的第三次循环移位是“ecemasterpi”)。
经过 n 天的辛勤创作,Polycarp 终于写下了一篇非常长的文本,堪称付出的努力。然而,这部作品内容实在太长,几乎无法对其进行任何分析。
请你帮助 Polycarp 回答 m 个关于他作品的查询:对于第 j 个查询,找出在自己的巨著的第 lj 位到第 rj 位(含)构成的子串中,字母 cj 出现了多少次。
输入格式
第一行给出巨著的名字 —— 字符串 s。s 仅包含小写拉丁字母,长度在 1 到 100 之间。
第二行包含两个整数 n 和 m (1≤n≤105,1≤m≤105) —— Polycarp 写作的天数和查询的个数。
下一行包含 n 个整数 ki (0≤ki≤100) —— 第 i 天所使用的循环移位次数。
接下来的 m 行,每行包含两个整数 lj、rj 和一个小写拉丁字母 cj —— 每个查询的描述。对于每个查询,你需要统计在巨著的第 lj 个位置到第 rj 个位置(含)组成的子串中,字母 cj 出现了多少次。位置从 1 开始编号。保证 1≤lj≤rj≤1018 且 lj 和 rj 都不会大于作品实际长度。
输出格式
输出 m 行,第 j 行表示第 j 个查询的答案。
输入输出样例
输入#1
masterpiece 1 3 3 1 22 m 9 14 e 8 15 p
输出#1
2 4 0
输入#2
polycarp 1 2 0 2 15 p 1 16 p
输出#2
2 4
说明/提示
由 ChatGPT 5 翻译
输入解题思路,AI测评打分。不知道怎么写?