SP8747 NSUBSTR2 - Substrings II

题目描述

给你一个字符集为小写字母的字符串 $T$,同时给你两个参数 $A,B$,有 $q$ 组询问。 每次询问一个字符串在 $T$ 中出现了多少次。 每一次询问之后,假设这次询问的答案为 $\textit{ans}$,你需要把第 $(A\cdot\textit{ans}+B)\bmod26+1$ 个小写字母加入到 $T$ 的末尾。 接下来 $q$ 行,依次是询问的字符串

输入格式

第一行一个字符串 $T$。 第二行三个整数 $q,A,B$,分别表示询问次数,参数 $A,B$。

输出格式

一共输出 $q$ 行,第 $i$ 行表示第 $i$ 次询问的答案。

说明/提示

对于 $100\%$ 的数据,$1\leq|T|,q\leq40000$,且 $0\leq A\leq27,0\leq B\leq26$。 数据保证输入文件大小不会超过 $\text{600KB}$。 *** 第一次询问时,`a` 在 `aaaaa` 中一共出现了 $5$ 次,$\textit{ans}=5$,之后需要添加第 $(0\cdot\textit{ans}+0)\bmod26+1=1$ 个小写字母,即 `a`,加入到 $T$ 的尾部 此时 $T$ 是 `aaaaaa`。 第二个询问 `aa` 在 `aaaaaa` 中出现了多少次,显然是 $5$ 次。 感谢 @KingSann 提供的翻译。