C. [ABC372C] Count ABC Again

    传统题 2000ms 1024MiB

[ABC372C] Count ABC Again

该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。

AT_abc372_c [ABC372C] Count ABC Again

题目描述

给定一个长度为 NN 的字符串 SS。接着给出 QQ 个查询,依次处理。

对于第 ii 个查询:

  • 给定一个整数 XiX_i 和一个字符 CiC_i,将 SS 的第 XiX_i 个字符替换为 CiC_i。然后,输出字符串 SS 中包含 ABC 作为子串的次数。

这里,SS子串 指的是,从 SS 的开头删除 00 个或多个字符,从 SS 的结尾删除 00 个或多个字符后得到的字符串。

例如,ababc 的子串,但 ac 不是 abc 的子串。

输入格式

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

N N Q Q S S X1 X_1 C1 C_1 X2 X_2 C2 C_2 \vdots XQ X_Q CQ C_Q

输出格式

输出 QQ 行。第 ii(1iQ)(1 \le i \le Q) 包含第 ii 个查询的答案。

样例 1

输入

7 4
ABCDABC
4 B
3 A
5 C
4 G

输出

2
1
1
0

样例 2

输入

3 3
ABC
1 A
2 B
3 C

输出

1
1
1

样例 3

输入

15 10
BBCCBCACCBACACA
9 C
11 B
5 B
11 B
4 A
8 C
8 B
5 B
7 B
14 B

输出

0
0
0
0
1
1
2
2
1
1

说明/提示

约束

  • 3N2×1053 \le N \le 2×10^5
  • 1Q2×1051 \le Q \le 2×10^5
  • SS 是由大写字母组成的长度为 NN 的字符串
  • 1XiN1 \le Xi \le N
  • CiC_i 是大写字母

示例解释 1

处理每个查询后的 SS 如下:

  • 处理第 11 个查询后:SS 变为 ABCBABC。其中 ABC 作为子串出现了 22 次。
  • 处理第 22 个查询后:SS 变为 ABABABC。其中 ABC 作为子串出现了 11 次。
  • 处理第 33 个查询后:SS 变为 ABABCBC。其中 ABC 作为子串出现了 11 次。
  • 处理第 44 个查询后:SS 变为 ABAGCBC。其中 ABC 作为子串出现了 00 次。

示例解释 2

有时处理查询前后 SS 可能不会发生变化。

初中组20251205(AT_abc372)

未参加
状态
已结束
规则
乐多
题目
7
开始于
2025-12-5 12:00
结束于
2025-12-5 13:18
持续时间
1.3 小时
主持人
参赛人数
12