#loj5731. 「NOISG 2026 Final」Gemstones
「NOISG 2026 Final」Gemstones
#5731. 「NOISG 2026 Final」Gemstones
标签: 传统 | 时间限制: 2000 ms | 内存限制: 1024 MiB |
题目描述
译自 NOISG 2026 Final T4. Gemstones
你正在玩一款益智游戏,游戏中有 颗排成一排的宝石,从左到右编号为 到 。第 颗宝石的颜色为 。
在任何时刻,你都可以选择两颗颜色相同的相邻宝石并将其删除。随后,两边的宝石会向中间滑动以填补空隙,这可能会产生新的相邻同色宝石对。
你将面对 个独立的情景。在第 个情景中,你只考虑从第 颗到第 颗的宝石。假设你执行了最优的删除序列,请问最后剩下的宝石最少是多少颗?
输入格式
第一行包含两个以空格分隔的整数 和 。
第二行包含 个以空格分隔的整数 。
接下来的 行,每行包含两个以空格分隔的整数。其中第 行包含 和 。
输出格式
输出应包含 行。其中第 行应包含一个整数,即第 个情景的答案。
样例 1
输入
8 4
3 3 3 2 2 3 4 7
1 3
3 6
1 7
5 8
输出
1
0
1
4
这 颗宝石如下图所示。

在第一个情景中,只需考虑前三颗宝石。删除任何两颗相邻的同色宝石后都会剩下一颗宝石,之后无法再进行任何删除。因此,答案是 。
在第二个情景中,可以按以下方式删除宝石,不留下任何宝石:

在第三个情景中,可以按以下方式删除宝石,剩下一颗宝石:

在第四个情景中,无法删除任何宝石。因此,答案是 。
此样例满足子任务 和 的限制。
样例 2
输入
6 3
2 1 1 2 2 1
1 6
1 4
3 6
输出
2
0
0
此样例满足子任务 和 的限制。
数据范围与提示
对于所有输入数据,满足:
- 对于所有 ,
- 对于所有 ,
详细子任务附加限制及分值如下表所示:
| 子任务 | 分值 | 附加限制 |
|---|---|---|
| 相同颜色的宝石形成连续的子段(即若 且 ,则满足 ) | ||
| 对于所有 ,满足 | ||
| 每种颜色的宝石恰好只有两颗 | ||
| 对于所有 ,满足 | ||
| 无附加限制 |