CF2207F.Hanabi

省选/NOI-

通过率:0%

AC君温馨提醒

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

题目描述

Last Agni Kai — Jeremy Zuckerman, Avatar: The Last Airbender

设 n,mn, m 均为正整数。Iroh 和 Zuko 正在玩一种变体的 Hanabi(花火)合作类纸牌游戏,其中有 nn 个等级(1,…,n1, \ldots, n)和 mm 个颜色(1,…,m1, \ldots, m)。Zuko 手中有 n⋅mn \cdot m 张卡牌,每种“等级-颜色”组合各一张。

在他回合时,他可以选择任意一张卡牌并打出。但如果他打出一张等级为 r≥2r \geq 2 且颜色为 cc 的牌,但等级为 r−1r-1 且颜色为 cc 的牌还没被打出,则游戏失败。

为了使游戏更加有趣,Zuko“反向拿牌”,也就是他将所有手牌牌面朝向 Iroh,使只有 Iroh 可以看到它们的等级和颜色。为了给 Zuko 提供信息,每回合 Iroh 可以给出以下两种“线索”之一:

  • 对于等级 rr,等级线索会高亮所有手牌中等级为 rr 的未出牌卡牌的位置。
  • 对于颜色 cc,颜色线索会高亮所有手牌中颜色为 cc 的未出牌卡牌的位置。

仅当线索能高亮至少一张牌时,该线索才可被给出。另外,在给出新线索前,所有牌均会复位为未高亮状态。

游戏开始时由 Iroh 给出线索,然后 Zuko 打一张牌,二者轮流,直到所有牌均已正确打出或出现违序出牌导致失败。

Zuko 决定:他的每次出牌总会选择高亮区域最靠左的一张牌打出。Iroh 希望给出一系列线索,既能保证 Zuko 可以按照规则顺序出完所有牌,又能最小化其线索内容相对于前一次回合发生改变的次数。

请你计算 Iroh 至少需要变化多少次线索内容,才能满足上述要求。

输入格式

每组测试数据包含多个测试用例。第一行包含测试用例个数 tt(1≤t≤1041 \leq t \leq 10^4)。每组测试用例的描述如下:

每个测试用例的第一行包含两个整数 nn 和 mm(1≤n,m≤2×105, 1≤n⋅m≤2×1051 \leq n, m \leq 2 \times 10^5,\ 1 \leq n \cdot m \leq 2 \times 10^5),分别表示等级数和颜色数。

第二行包含 n⋅mn \cdot m 个整数 r1,r2,…,rn⋅mr_1,r_2,\ldots,r_{n \cdot m}(1≤ri≤n1 \leq r_i \leq n),表示 Zuko 手中第 ii 张牌的等级(从左到右的顺序)。

第三行包含 n⋅mn \cdot m 个整数 c1,c2,…,cn⋅mc_1,c_2,\ldots,c_{n \cdot m}(1≤ci≤m1 \leq c_i \leq m),表示 Zuko 手中第 ii 张牌的颜色(从左到右的顺序)。

保证每种 (r,c)(r, c) 卡牌(1≤r≤n, 1≤c≤m1 \leq r \leq n,\ 1 \leq c \leq m)恰好出现在手牌序列中一次。

确保所有测试用例中 n⋅mn \cdot m 总和不超过 2×1052 \times 10^5。

输出格式

对于每组测试用例,输出一个整数,表示 Iroh 的线索内容最少需要变化的次数。保证一定存在能将所有卡牌按规则全打出的方案。

输入输出样例

  • 输入#1

    7
    3 2
    1 2 3 1 2 3
    1 1 1 2 2 2
    2 2
    2 1 2 1
    1 2 2 1
    1 7
    1 1 1 1 1 1 1
    7 6 5 4 3 2 1
    5 1
    1 4 2 3 5
    1 1 1 1 1
    8 3
    1 1 1 3 2 2 5 3 3 6 4 4 7 5 5 8 6 6 2 7 7 4 8 8
    1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3
    9 4
    2 1 1 2 3 2 3 5 3 6 5 6 7 7 8 5 9 9 4 4 8 1 2 3 6 7 8 4 5 6 9 1 4 7 9 8
    4 2 1 2 2 1 4 2 1 2 1 1 1 2 2 4 1 2 2 1 1 3 3 3 4 4 4 3 3 3 4 4 4 3 3 3
    6 2
    2 1 3 2 4 3 5 4 6 6 1 5
    1 2 1 2 1 2 1 2 1 2 1 2

    输出#1

    1
    1
    0
    3
    6
    8
    4

说明/提示

在第一个测试用例中,最优动作序列如下:

  • Iroh 给出颜色 11 的颜色线索。
  • 接下来三回合,Zuko 依次打出颜色 11 的等级 1,2,31, 2, 3 的卡牌。
  • Iroh 给出颜色 22 的颜色线索。
  • 接下来三回合,Zuko 依次打出颜色 22 的等级 1,2,31, 2, 3 的卡牌。

Iroh 总计更改线索 11 次,该结果为最优。

在第二个测试用例中,最优动作序列如下:

  • Iroh 给出等级 11 的等级线索。
  • 接下来两回合,Zuko 依次打出颜色 2,12, 1 的等级 11 卡牌。
  • Iroh 给出等级 22 的等级线索。
  • 接下来两回合,Zuko 依次打出颜色 1,21, 2 的等级 22 卡牌。

Iroh 更改线索 11 次,该结果为最优。

在第三个测试用例中,最优动作序列如下:

  • Iroh 给出等级 11 的等级线索。
  • 接下来七回合,Zuko 依次打出颜色 7,6,5,4,3,2,17, 6, 5, 4, 3, 2, 1 的等级 11 卡牌。

Iroh 更改线索 00 次,该结果为最优。

在第四个测试用例中,最优动作序列如下:

  • Iroh 给出等级 11 的等级线索。
  • Zuko 打出颜色 11 的等级 11 卡牌。
  • Iroh 给出等级 22 的等级线索。
  • Zuko 打出颜色 11 的等级 22 卡牌。
  • Iroh 给出等级 33 的等级线索。
  • Zuko 打出颜色 11 的等级 33 卡牌。
  • Iroh 给出颜色 11 的颜色线索。
  • Zuko 依次打出颜色 11 的等级 4,54, 5 卡牌。

Iroh 总计更改线索 33 次,该结果为最优。

由 ChatGPT 5 翻译

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

首页