AT_utpc2024_n Nice Bouquets
题目描述
从事花卉销售的 Universal Tropical Plant Center(UTPC)公司拥有一片农园,该农园东西方向种植着一排 $N$ 棵树,按从西到东分别编号为 $1,2,\dots,N$。
在 UTPC 公司的农园里,即将进入为期 $K$ 天的收获期。在收获期间,每棵树每天只会开出一种颜色的花,颜色可以是红色、绿色或蓝色。树 $i$ 在未来 $K$ 天内每天开花的颜色信息用字符串 $S_i$ 表示,第 $j$ 天所开的花的颜色由 $S_{i,j}$ 指定:若为 `R`,则为红色;为 `G`,则为绿色;为 `B`,则为蓝色。
UTPC 公司每天会采摘当天所有盛开的花朵,并将其每三朵组合成一个花束进行销售。每个花束内的三朵花必须全部为同一种颜色,或者三朵花颜色各不相同。理想情况下,希望每天采摘的花可以全部用于制作花束而没有剩余,但当前未必能够这样安排。于是他们准备用以下两种操作,在进入收获期前不限次地进行调整:
- 选择一个 $1 \leq i \leq N$ 的整数,将第 $i$ 棵树砍掉。被砍掉的树将不会再开花;
- 选择一个 $1 \leq i \leq N$ 的整数,对第 $i$ 棵树喷洒促进剂。被喷洒促进剂后,这棵树在接下来的 $K$ 天里每天会开出两朵花,且两朵花的颜色均为 $S_{i,j}$ 表示的颜色,亦即第 $j$ 天会开出两朵相同颜色的花。
需要注意的是,同一棵树不能重复进行以上任一操作,且这些操作必须在进入收获期前完成。
由于公司办公室位于农园西端,希望尽量避免对东边的树进行操作。为此,对一系列操作定义“成本”:即**进行过操作的所有树中编号最大者的编号**。如果没有对任何树进行操作,则成本为 $0$。
请在保证整个收获期内任意一天都能够让所有花都被组成没有剩余的花束的前提下,求出最小的操作成本。如果所有树都被砍掉,也认为花不会剩余。
输入格式
输入通过标准输入以如下格式给出。
> $N$ $K$
> $S_1$
> $S_2$
> $\vdots$
> $S_N$
输出格式
请输出一行答案。
说明/提示
### 样例解释 1
如果砍掉第 2 棵树,当天盛开的花的颜色分布将会是:
- 第 1 天:RRR
- 第 2 天:GBR
- 第 3 天:BGR
- 第 4 天:GBR
- 第 5 天:RRR
由此可见,每天的条件都满足。这时成本为 $2$,无法用成本为 $1$ 达成目标。
### 样例解释 2
无需进行任何操作即可满足条件。
### 样例解释 3
必须将所有树全部砍掉。
### 样例解释 4
若对第 1 棵树喷洒促进剂、并砍掉第 3 棵树,每天盛开的花的颜色分布如下:
- 第 1 天:BBBRGB
- 第 2 天:GGGRGB
- 第 3 天:GGGRGB
- 第 4 天:BBBRGB
由此可见,各天皆满足条件。
# 限制
- $N, K$ 均为整数
- $1 \leq N, K$
- $NK \leq 10^5$
- $|S_i| = K$
- 每个 $S_i$ 的字符为 `R`、`G` 或 `B`
由 ChatGPT 5 翻译