CF914F Substrings in a String
题目描述
给定一个字符串 $s$,以及 $q$ 个查询,每个查询的格式如下:
- $1~i~c$ —— 将字符串中第 $i$ 个字符修改为 $c$。
- $2~l~r~y$ —— 取 $s$ 的子串,区间为 $[l, r]$,并输出 $y$ 作为子串在其中出现的次数。
输入格式
第一行输入一个仅由小写英文字母组成的字符串 $s$,其中 $1 \leq |s| \leq 10^{5}$。
第二行输入一个整数 $q$,表示需要处理的查询数,$1 \leq q \leq 10^{5}$。
接下来的 $q$ 行,每行描述一个查询,格式如下:
- $1~i~c$,$1 \leq i \leq |s|$;
- $2~l~r~y$,$1 \leq l \leq r \leq |s|$。
其中 $c$ 为小写英文字母,$y$ 为非空小写英文字母字符串。
所有 2 型查询中,$\sum |y| \leq 10^{5}$。
保证至少存在一个 2 型查询。
所有字符串均采用 1 下标。
$|s|$ 表示字符串 $s$ 的长度。
输出格式
对于每个类型为 $2$ 的查询,输出要求的答案,每个答案单独占一行。
说明/提示
以第一个样例为例。初始时,字符串 aba 在区间 $[1,7]$ 内出现了 $3$ 次。注意两次出现可能重叠。
更新后,字符串变为 ababcbaba,此时在区间 $[1,7]$ 内 aba 仅出现 1 次。
由 ChatGPT 5 翻译