AT_utpc2024_n.Nice Bouquets

通过率:0%

AC君温馨提醒

该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

从事花卉销售的 Universal Tropical Plant Center(UTPC)公司拥有一片农园,该农园东西方向种植着一排 NN 棵树,按从西到东分别编号为 1,2,…,N1,2,\dots,N。

在 UTPC 公司的农园里,即将进入为期 KK 天的收获期。在收获期间,每棵树每天只会开出一种颜色的花,颜色可以是红色、绿色或蓝色。树 ii 在未来 KK 天内每天开花的颜色信息用字符串 SiS_i 表示,第 jj 天所开的花的颜色由 Si,jS_{i,j} 指定:若为 R,则为红色;为 G,则为绿色;为 B,则为蓝色。

UTPC 公司每天会采摘当天所有盛开的花朵,并将其每三朵组合成一个花束进行销售。每个花束内的三朵花必须全部为同一种颜色,或者三朵花颜色各不相同。理想情况下,希望每天采摘的花可以全部用于制作花束而没有剩余,但当前未必能够这样安排。于是他们准备用以下两种操作,在进入收获期前不限次地进行调整:

  • 选择一个 1≤i≤N1 \leq i \leq N 的整数,将第 ii 棵树砍掉。被砍掉的树将不会再开花;
  • 选择一个 1≤i≤N1 \leq i \leq N 的整数,对第 ii 棵树喷洒促进剂。被喷洒促进剂后,这棵树在接下来的 KK 天里每天会开出两朵花,且两朵花的颜色均为 Si,jS_{i,j} 表示的颜色,亦即第 jj 天会开出两朵相同颜色的花。

需要注意的是,同一棵树不能重复进行以上任一操作,且这些操作必须在进入收获期前完成。

由于公司办公室位于农园西端,希望尽量避免对东边的树进行操作。为此,对一系列操作定义“成本”:即进行过操作的所有树中编号最大者的编号。如果没有对任何树进行操作,则成本为 00。

请在保证整个收获期内任意一天都能够让所有花都被组成没有剩余的花束的前提下,求出最小的操作成本。如果所有树都被砍掉,也认为花不会剩余。

输入格式

输入通过标准输入以如下格式给出。

NN KK
S1S_1
S2S_2
⋮\vdots
SNS_N

输出格式

请输出一行答案。

输入输出样例

  • 输入#1

    4 5
    RGBGR
    BGGBR
    RBGBR
    RRRRR

    输出#1

    2
  • 输入#2

    3 3
    RGB
    BGG
    GGR

    输出#2

    0
  • 输入#3

    3 4
    GGGG
    BGGG
    GGGR

    输出#3

    3
  • 输入#4

    6 4
    BGGB
    BGGB
    RGBG
    RRRR
    GGGG
    BBBB

    输出#4

    3

说明/提示

样例解释 1

如果砍掉第 2 棵树,当天盛开的花的颜色分布将会是:

  • 第 1 天:RRR
  • 第 2 天:GBR
  • 第 3 天:BGR
  • 第 4 天:GBR
  • 第 5 天:RRR

由此可见,每天的条件都满足。这时成本为 22,无法用成本为 11 达成目标。

样例解释 2

无需进行任何操作即可满足条件。

样例解释 3

必须将所有树全部砍掉。

样例解释 4

若对第 1 棵树喷洒促进剂、并砍掉第 3 棵树,每天盛开的花的颜色分布如下:

  • 第 1 天:BBBRGB
  • 第 2 天:GGGRGB
  • 第 3 天:GGGRGB
  • 第 4 天:BBBRGB

由此可见,各天皆满足条件。

限制

  • N,KN, K 均为整数
  • 1≤N,K1 \leq N, K
  • NK≤105NK \leq 10^5
  • ∣Si∣=K|S_i| = K
  • 每个 SiS_i 的字符为 R、G 或 B

由 ChatGPT 5 翻译

输入解题思路,AI测评打分。不知道怎么写?

首页