#ARC195D. 交换与删除
交换与删除
交换与删除
时间限制:2s
空间限制:512MB
题目描述
给定数列 。你可以任意次执行以下两种操作:
- 选择相邻的两项并交换它们;
- 选择一个非空前缀,要求前缀内所有数相等,然后把这个前缀整体删除。
求把数列删空所需的最少操作次数。有 组测试数据,请分别求解。
输入格式
第一行输入一个整数 。
每组数据先输入一个整数 ,下一行输入 个整数 。
输出格式
对每组数据输出一行一个整数,表示最少操作次数。
样例输入 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 | 10 | 每组数据均有 |
| 2 | 20 | 每组数据均有 |
| 3 | 每组数据中满足 的位置不超过 个 | |
| 4 | 每组数据中的 两两不同 | |
| 5 | 30 | 无特殊限制 |