#ABC122C. AC 计数

AC 计数

AC 计数

题目描述

给定一个由 A、C、G、T 组成、长度为 NN 的字符串 SS。请回答以下 QQ 个询问。

  • 询问 ii(1≤i≤Q1 \le i \le Q):给定整数 li,ril_i, r_i(1≤li<ri≤N1 \le l_i \lt r_i \le N)。考虑 SS 从开头数第 lil_i 个字符到第 rir_i 个字符(含两端)的子串。这个字符串中,AC 作为子串出现多少次?

输入格式

输入按以下格式从标准输入给出:

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
  • 询问 11:SS 从开头数第 33 个字符到第 77 个字符的子串是 ACTAC。这个字符串中 AC 作为子串出现 22 次。
  • 询问 22:SS 从开头数第 22 个字符到第 33 个字符的子串是 CA。这个字符串中 AC 作为子串出现 00 次。
  • 询问 33:SS 从开头数第 11 个字符到第 88 个字符的子串是 ACACTACG。这个字符串中 AC 作为子串出现 33 次。

数据范围

  • 2≤N≤1052 \le N \le 10^5
  • 1≤Q≤1051 \le Q \le 10^5
  • SS 是长度为 NN 的字符串
  • SS 的每个字符都是 A、C、G、T 中的某一个
  • 1≤li<ri≤N1 \le l_i \lt r_i \le N

提示

字符串 TT 的子串是指从 TT 的开头和末尾去掉 00 个以上字符后得到的字符串。

例如,ATCODER 的子串包含 TCO、AT、CODER、ATCODER、``(空字符串),不包含 AC。

难度 普及
通过率 100%
尝试 1
通过 1
ID
1684
类型
传统题
Time Limit
2000ms
Memory Limit
1024MiB
上传者
标签