#2785. GeT AC

0

GeT AC

GeT AC

题目描述

给你一个长度为 NN 的字符串 SS,其由字符 AA、CC、GG 和 TT 组成。回答下面的 QQ 个查询:

查询 ii(1≤i≤Q1 \leq i \leq Q):给定整数 lil_i 和 rir_i(1 \leq l_i < r_i \leq N)。考虑字符串 SS 从索引 lil_i 开始到索引 rir_i 结束(两端包含)的子串。在这个字符串中,子串 ACAC 出现了多少次?

输入格式

输入从标准输入按如下格式给出: NN QQ SS l1l_1 r1r_1 : lQl_Q rQr_Q

输出格式

输出 QQ 行。第 ii 行应包含第 ii 个查询的答案。

8 3
ACACTACG
3 7
2 3
1 8
2
0
3

提示

2≤N≤1052 \leq N \leq 10^5 1≤Q≤1051 \leq Q \leq 10^5 SS 是长度为 NN 的字符串。 SS 中的每个字符都是 AA、CC、GG 或 TT。 1 \leq l_i < r_i \leq N字符串 TT 的子串是通过从 TT 的开头和结尾去掉零个或多个字符得到的字符串。 例如,ATCODERATCODER 的子串包括 TCOTCO、ATAT、CODERCODER、ATCODERATCODER 和 $$(空字符串),但不包括 ACAC。查询 11:SS 中从索引 33 到索引 77 的子串是 ACTACACTAC。在该字符串中,ACAC 作为子串出现了两次。 查询 22:SS 中从索引 22 到索引 33 的子串是 CACA。在该字符串中,ACAC 作为子串出现了零次。 查询 33:SS 中从索引 11 到索引 88 的子串是 ACACTACGACACTACG。在该字符串中,ACAC 作为子串出现了三次。

标签: AtCoder|abc122C

来源

AtCoder|abc122C