atcoder#AGC059A. [AGC059A] My Last ABC Problem
[AGC059A] My Last ABC Problem
题目描述
文字 A
, B
, C
のみからなる文字列 を考えます。 これに対し、以下の操作を行えます。
- 任意の部分文字列 と文字
A
B
C
の任意の並べ替え を選ぶ。ここで、 は の 文字目から 文字目までで形成される部分文字列であり、 と を選べる。そして、 の各文字A
,B
,C
をそれぞれ , , で置き換える。
例えば、文字列 ACBAAC
に対して、部分文字列 と C
B
A
を選べます。 この操作を行うと、文字列は ACBCCA
となります。
アリーナは、すべての文字が同じであるような文字列が好きです。彼女は、文字列 の美しさを、そのすべての文字を同じにするために必要な最小の操作回数と定義します。
長さ の文字 A
, B
, C
のみからなる文字列 が与えられます。 個のクエリに答えてください。 個目のクエリは以下の通りです。
- 整数 と が与えられるので、部分文字列 の美しさを求めよ。
输入格式
入力は標準入力から以下の形式で与えられる。
输出格式
行を出力せよ。 行目には、 個目のクエリへの答えを出力せよ。
题目大意
给出一个长度为 的字符串 , 仅含 A,B,C
。
每次操作选择 和 , 都是 A,B,C
其中之一,且互不相同。接着对于 ,将 A
变成 ,B
变成 ,C
变成 。
组询问,每次询问 ,求将 都变成同一字符的最小操作次数。
6 4
ABCCCA
3 5
2 3
1 3
1 6
0
1
2
2
提示
制約
- は文字
A
,B
,C
のみからなる文字列である。 - 入力中のすべての数は整数である。
Sample Explanation 1
一つ目のクエリでは、文字列は CCC
であり、すでにすべての文字が同じです。答えは となります。 二つ目のクエリでは、文字列は BC
です。これは、部分文字列 と A
C
B
を選ぶことで、一回の操作で BB
に変えることができます。 三つ目のクエリでは、文字列は ABC
です。これは、部分文字列 と C
A
B
を選ぶことで、一回の操作で AAB
に、続いて部分文字列 と B
A
C
を選ぶことで、二回目の操作で BBB
に変えることができます。