luogu#P9310. [EGOI2021] Luna likes Love / 卢娜爱磕 cp

[EGOI2021] Luna likes Love / 卢娜爱磕 cp

题目背景

Day 1 Problem B.

题面译自 EGOI2021 luna

题目描述

卢娜想出了一个不同寻常的点子。她让 2n2n 个朋友排成一条长队,并给他们每人一个 1n1\sim n 的整数。每个整数恰好出现两次。每一对有相同数字的朋友组成一对情侣。

卢娜希望让每一对情侣去一次约会。然而,并没有这么简单。为了让一对情侣去约会,双方在队伍中必须互相紧挨着,也就是说不能有任何人站在他们中间。

卢娜可以进行两种操作:

  • 她可以让任意两个紧挨着的人交换位置。
  • 如果一对情侣互相紧挨着,卢娜可以让他们去约会。这一对情侣将从队伍中离开,后面的人会补上他们的位置。

所有操作可以以任意的顺序进行。例如,她可以交换几次,然后让几对情侣去约会,再交换几次。

请求出让所有人去约会的最少操作次数。

输入格式

第一行一个整数 nn

第二行 2n2n 个整数 aia_i,依次表示队伍中朋友拿到的数字。

输出格式

一行,一个整数,表示最少操作次数。

3
3 1 2 1 2 3
4
5
5 1 2 3 2 3 1 4 5 4
7

提示

样例 11 解释

卢娜先让第三个人和第四个人交换位置,得到 3,1,1,2,2,33,1,1,2,2,3

然后她可以让数字 1122 的情侣去约会。之后,数字 33 的情侣会互相紧挨着,卢娜可以让他们也去约会。

综上,共需要 44 次操作:一次交换和三次让情侣去约会。


数据范围

对于全部数据,1n5×1051\le n\le 5\times 10^51ain1\le a_i\le n

  • 子任务一(77 分):任意一对情侣都紧挨着,n100n\le 100
  • 子任务二(88 分):任意一对情侣之间至多有一个人,n100n\le 100
  • 子任务三(1111 分):前 nn 个人的数字构成一个 1n1\sim n 的排列,n3×103n\le 3\times 10^3
  • 子任务四(1616 分):前 nn 个人的数字构成一个 1n1\sim n 的排列。
  • 子任务五(2222 分):n3×103n\le 3\times 10^3
  • 子任务六(3636 分):无特殊限制。