[EGOI 2021] Luna likes Love / 卢娜爱磕 cp

Luogu
IDLGP9310
Time1500ms
Memory256MB
DifficultyP5
贪心线段树树状数组2021O2优化EGOI(欧洲/女生)
卢娜想出了一个不同寻常的点子。她让 $2n$ 个朋友排成一条长队,并给他们每人一个 $1\sim n$ 的整数。每个整数恰好出现两次。每一对有相同数字的朋友组成一对情侣。 卢娜希望让每一对情侣去一次约会。然而,并没有这么简单。为了让一对情侣去约会,双方在队伍中必须互相紧挨着,也就是说不能有任何人站在他们中间。 卢娜可以进行两种操作: - 她可以让任意两个紧挨着的人交换位置。 - 如果一对情侣互相紧挨着,卢娜可以让他们去约会。这一对情侣将从队伍中离开,后面的人会补上他们的位置。 所有操作可以以任意的顺序进行。例如,她可以交换几次,然后让几对情侣去约会,再交换几次。 请求出让所有人去约会的最少操作次数。 ## Input 第一行一个整数 $n$。 第二行 $2n$ 个整数 $a_i$,依次表示队伍中朋友拿到的数字。 ## Output 一行,一个整数,表示最少操作次数。 [samples] ## Background Day 1 Problem B. 题面译自 [EGOI2021 luna](https://stats.egoi.org/media/task_description/2021_luna_en.pdf)。 ## Note **样例 $1$ 解释** 卢娜先让第三个人和第四个人交换位置,得到 $3,1,1,2,2,3$。 然后她可以让数字 $1$ 和 $2$ 的情侣去约会。之后,数字 $3$ 的情侣会互相紧挨着,卢娜可以让他们也去约会。 综上,共需要 $4$ 次操作:一次交换和三次让情侣去约会。 --- **数据范围** 对于全部数据,$1\le n\le 5\times 10^5$,$1\le a_i\le n$。 - 子任务一($7$ 分):任意一对情侣都紧挨着,$n\le 100$。 - 子任务二($8$ 分):任意一对情侣之间至多有一个人,$n\le 100$。 - 子任务三($11$ 分):前 $n$ 个人的数字构成一个 $1\sim n$ 的排列,$n\le 3\times 10^3$。 - 子任务四($16$ 分):前 $n$ 个人的数字构成一个 $1\sim n$ 的排列。 - 子任务五($22$ 分):$n\le 3\times 10^3$。 - 子任务六($36$ 分):无特殊限制。
Samples
Input #1
3
3 1 2 1 2 3
Output #1
4
Input #2
5
5 1 2 3 2 3 1 4 5 4
Output #2
7
API Response (JSON)
{
  "problem": {
    "name": "[EGOI 2021] Luna likes Love / 卢娜爱磕 cp",
    "description": {
      "content": "卢娜想出了一个不同寻常的点子。她让 $2n$ 个朋友排成一条长队,并给他们每人一个 $1\\sim n$ 的整数。每个整数恰好出现两次。每一对有相同数字的朋友组成一对情侣。 卢娜希望让每一对情侣去一次约会。然而,并没有这么简单。为了让一对情侣去约会,双方在队伍中必须互相紧挨着,也就是说不能有任何人站在他们中间。 卢娜可以进行两种操作: - 她可以让任意两个紧挨着的人交换位置。 - 如果一对情侣",
      "description_type": "Markdown"
    },
    "platform": "Luogu",
    "limit": {
      "time_limit": 1500,
      "memory_limit": 262144
    },
    "difficulty": {
      "LuoguStyle": "P5"
    },
    "is_remote": true,
    "is_sync": true,
    "sync_url": null,
    "sign": "LGP9310"
  },
  "statements": [
    {
      "statement_type": "Markdown",
      "content": "卢娜想出了一个不同寻常的点子。她让 $2n$ 个朋友排成一条长队,并给他们每人一个 $1\\sim n$ 的整数。每个整数恰好出现两次。每一对有相同数字的朋友组成一对情侣。\n\n卢娜希望让每一对情侣去一次约会。然而,并没有这么简单。为了让一对情侣去约会,双方在队伍中必须互相紧挨着,也就是说不能有任何人站在他们中间。\n\n卢娜可以进行两种操作:\n\n- 她可以让任意两个紧挨着的人交换位置。\n- 如果一对情侣...",
      "is_translate": false,
      "language": "English"
    }
  ]
}
Full JSON Raw Segments