题目背景
English Statement
题目描述
给定一个长为 n 的序列 a1,a2,a3,…,an,你需要执行 k 次操作使这个序列为空。
每次操作可以执行下列内容之一:
- 选择两个数 i,j,交换 ai,aj(需要满足 1≤i<j≤n)。
- 选择两个数 i,j,删除 ai,ai+1,…,aj(需要满足 1≤i≤j≤n,且 ai=aj)。
请输出最小的操作数 k。
输入格式
第一行输入一个正整数 T(1≤T≤5),表示有 T 个测试数据。
对于每个测试数据:
第一行输入一个正整数 n(1≤n≤105),表示序列长度为 n。
第二行输入 n 个正整数 a1,a2…an(0≤ai≤109)。
输出格式
对于每个测试数据输出一个正整数 k,表示最少的操作次数。
2
5
1 2 3 2 3
3
1000000000 1000000000 99999999
2
2
提示
数据范围
子任务 |
分值 |
限制 |
1 |
10 |
n≤3 |
2 |
20 |
n≤10 |
3 |
ai≤2 |
4 |
10 |
保证所有 ai 相等 |
5 |
40 |
- |
对于 100% 的数据,1≤T≤5,1≤n≤105,0≤ai≤109。