#ATagc059a. [AGC059A] My Last ABC Problem

[AGC059A] My Last ABC Problem

题目描述

考虑一个只由字符 ABC 组成的字符串 tt。对于该字符串,可以进行如下操作:

  • 任意选择一个子串 t[l:r]t[l:r],以及字符 ((A,,B,,C)) 的任意一种排列 (X,Y,Z)(X, Y, Z)。这里,t[l:r]t[l:r] 表示从第 ll 个字符到第 rr 个字符组成的子串,llrr 可以任意选择。然后,将 t[l:r]t[l:r] 中的每个 A 替换为 XX,每个 B 替换为 YY,每个 C 替换为 ZZ

例如,对于字符串 t=t = ACBAAC,可以选择子串 t[3:6]t[3:6] 和排列 (X,Y,Z)=((X, Y, Z) = (C,,B,,A))。执行该操作后,字符串变为 ACBCCA

阿丽娜喜欢所有字符都相同的字符串。她将字符串 tt 的“美丽度”定义为:将其所有字符变为相同所需的最少操作次数。

给定一个长度为 NN、只包含字符 ABC 的字符串 SS。请回答 QQ 个询问。第 ii 个询问如下:

  • 给定整数 LiL_iRiR_i,请你求出子串 t=S[Li:Ri]t = S[L_i:R_i] 的美丽度。

输入格式

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

NN QQ SS L1L_1 R1R_1 L2L_2 R2R_2 \vdots LQL_Q RQR_Q

输出格式

输出共 QQ 行。第 ii 行输出第 ii 个询问的答案。

样例 1

输入

6 4
ABCCCA
3 5
2 3
1 3
1 6

输出

0
1
2
2

说明/提示

限制条件

  • 1N1051 \leq N \leq 10^5
  • SS 只包含字符 ABC
  • 1Q1051 \leq Q \leq 10^5
  • 1LiRiN1 \leq L_i \leq R_i \leq N
  • 输入中的所有数均为整数。

样例解释 1

对于第一个询问,字符串为 t=t = CCC,已经全部相同,答案为 00
对于第二个询问,字符串为 t=t = BC,可以选择子串 t[2:2]t[2:2] 和排列 (X,Y,Z)=((X, Y, Z) = (A,,C,,B)),一次操作即可变为 BB
对于第三个询问,字符串为 t=t = ABC,可以选择子串 t[2:3]t[2:3] 和排列 (X,Y,Z)=((X, Y, Z) = (C,,A,,B)),一次操作可变为 AAB,再选择子串 t[1:2]t[1:2] 和排列 (X,Y,Z)=((X, Y, Z) = (B,,A,,C)),第二次操作可变为 BBB

由 ChatGPT 4.1 翻译