AT_arc195_d.[ARC195D] Swap and Erase
省选/NOI-
通过率:0%
AC君温馨提醒
该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
给定一个数列 $ A = (A_1, \ldots, A_N) $。你可以对 $ A $ 进行以下两种操作,顺序和次数不限:
- 交换操作:设操作前 $ A $ 的长度为 $ K $。选择满足 $ 1 \leq i \leq K - 1 $ 的整数 $ i $,交换 $ A $ 的第 $ i $ 项和第 $ (i+1) $ 项。
- 删除操作:设操作前 $ A $ 的长度为 $ K $。选择满足 $ 1 \leq i \leq K $ 且 $ A $ 的前 $ i $ 项全部相等的整数 $ i $,删除 $ A $ 的前 $ i $ 项。
请求出将 $ A $ 变为空数列所需的最小总操作次数。
给定 $ T $ 个测试用例,请分别求解。
输入格式
输入通过标准输入给出,格式如下:
$ T $
case1
case2
⋮
caseT
每个测试用例的格式为:
$ N $ $ A_1 $ $ A_2 $ $ \ldots $ $ A_N $
输出格式
对每个测试用例,输出一行答案。
输入输出样例
输入#1
3 5 1 1 2 1 2 4 4 2 1 3 11 1 2 1 2 1 2 1 2 1 2 1
输出#1
3 4 8
说明/提示
约束条件
- $ 1 \leq T \leq 10^5 $
- $ 2 \leq N \leq 2 \times 10^5 $
- $ 1 \leq A_i \leq N $
- 所有测试用例的 $ N $ 之和不超过 $ 2 \times 10^5 $
- 输入值均为整数
样例解释 1
对于第一个测试用例,可通过以下 3 次操作清空数列:
- 交换第 3 项和第 4 项,得到 $ (1, 1, 1, 2, 2) $。
- 删除前 3 项(均为 1),得到 $ (2, 2) $。
- 删除前 2 项(均为 2),数列清空。
对于第二个测试用例,只能通过 4 次删除操作(每次删除第 1 项)清空数列,且无法在 3 次或更少操作内完成。
翻译由 DeepSeek R1 完成
输入解题思路,AI测评打分。不知道怎么写?