#iai21a1. 消消乐(二)(Match-2)

消消乐(二)(Match-2)

消消乐(二)

题目描述

2n2n 个数字排成一列,这些数字的范围在 11nn 之间,每个数字出现恰好两次。

小爱可以交换任何两个相邻的数字,如果交换后相邻数字相同,它们会自动消除。其余数字会自动靠近形成新的相邻状态。如果序列缩短后靠近的数字也相同,则会自动消除。直到所有数字全部消除为止,游戏结束。

请帮忙计算一下,最少需要交换多少对数字,才能使游戏结束。

输入格式

第一行:单个正整数 nn

第二行:2n2n 个数字 a1,a2,,a2na_1,a_2,\cdots,a_{2n}1ain1\le a_i\le n

输出格式

单个整数:表示消除序列的最少交换次数。

样例输入 #1

5
5 2 3 1 4 1 4 3 5 2

样例输出 #1

2

样例说明 #1

先交换 4 与 1,然后交换 2 与 5。

数据范围

  • 对于 30% 数据,1n1001 \le n \le 100
  • 对于 60% 数据,1n20001 \le n \le 2000
  • 对于 100% 数据,1n1000001\le n\le 100000

测试点分布

Subtask 分值 测试点编号 说明
0 10 1~2 样例
1 20 3~8 小规模 N≤10 / 特殊: 成对相邻 / 特殊: 全相同配对
2 15 9~11 Hack: N=1边界 / Hack: 完全逆序配对 / Hack: 嵌套配对
3 30 12~20 中规模 N≈100~5000 / 大规模 N≈1e5 压力
4 25 21~25 随机 N=1~1e5 回归