AT_abc122_c [ABC122C] GeT AC
题目描述
给定一个由 `A`、`C`、`G`、`T` 组成的长度为 $N$ 的字符串 $S$。请回答以下 $Q$ 个问题。
- 问题 $i$($1 \leq i \leq Q$):给定整数 $l_i, r_i$($1 \leq l_i < r_i \leq N$)。考虑 $S$ 的第 $l_i$ 个字符到第 $r_i$ 个字符(包括两端)组成的子串。在这个子串中,`AC` 作为子串出现了多少次?
输入格式
输入按以下格式从标准输入给出。
> $N$ $Q$
> $S$
> $l_1$ $r_1$
> $\vdots$
> $l_Q$ $r_Q$
输出格式
输出共 $Q$ 行。第 $i$ 行输出问题 $i$ 的答案。
说明/提示
### 注释
字符串 $T$ 的子串是指从 $T$ 的开头和结尾各去掉 $0$ 个或多个字符后得到的字符串。
例如,`ATCODER` 的子串包括 `TCO`、`AT`、`CODER`、`ATCODER`、``(空字符串),但不包括 `AC`。
### 约束
- $2 \leq N \leq 10^5$
- $1 \leq Q \leq 10^5$
- $S$ 是长度为 $N$ 的字符串。
- $S$ 的每个字符都是 `A`、`C`、`G`、`T` 之一。
- $1 \leq l_i < r_i \leq N$
### 样例解释 1
- 问题 $1$:$S$ 的第 $3$ 个字符到第 $7$ 个字符的子串为 `ACTAC`。在这个字符串中,`AC` 作为子串出现了 $2$ 次。
- 问题 $2$:$S$ 的第 $2$ 个字符到第 $3$ 个字符的子串为 `CA`。在这个字符串中,`AC` 作为子串出现了 $0$ 次。
- 问题 $3$:$S$ 的第 $1$ 个字符到第 $8$ 个字符的子串为 `ACACTACG`。在这个字符串中,`AC` 作为子串出现了 $3$ 次。
由 ChatGPT 4.1 翻译