#HK4935. 「EGOI2021」卢娜爱磕 cp
「EGOI2021」卢娜爱磕 cp
题目描述
题目译自 European Girls' Olympiad in Informatics 2021 Day1 T2. Luna likes Love
卢娜突发奇想,设计了一个有趣的活动。她将 个朋友排成一列,给每个人分配了一个介于 到 之间的整数,每个数字恰好出现两次。拥有相同数字的两个朋友组成一对情侣。
卢娜希望安排这 对情侣去约会,但事情没那么简单。要让一对情侣去约会,他们必须在队列中站在一起,中间不能有其他人。
卢娜可以执行以下两种操作:
- 交换队列中相邻的任意两个朋友的位置。
- 如果一对情侣在队列中相邻,卢娜可以安排他们去约会。这会将这对情侣从队列中移除,剩余的朋友会自动靠拢,填补空缺。
你可以按照任意顺序执行这些操作。比如,先进行几次交换,再安排几对情侣去约会,然后再继续交换。
请你找出并输出让所有情侣都去约会所需的最少操作次数。
输入格式
第一行包含一个整数 。
第二行包含 个用空格分隔的整数 ,表示队列中朋友依次获得的数字序列。
输出格式
输出一行,包含一个整数,表示让所有情侣都去约会所需的最少操作次数。
3
3 1 2 1 2 3
4
卢娜可以先交换第三个和第四个朋友的位置。交换后,队列变为 。
接着,她可以安排数字为 和数字为 的情侣去约会(顺序任意)。完成这些操作后,数字为 的两个朋友在队列中相邻,卢娜也可以安排他们去约会。
这个方案总共需要 次操作: 次交换和 次约会。
5
5 1 2 3 2 3 1 4 5 4
7
数据范围与提示
详细子任务附加限制及分值如下表所示。
| 子任务 | 分值 | 附加限制 |
|---|---|---|
| 每对情侣的两个朋友之间没有其他人,且 | ||
| 每对情侣的两个朋友之间最多有一个人,且 | ||
| 队列前 个朋友的数字为 到 ,每个数字恰好出现一次(不一定按顺序),且 | ||
| 队列前 个朋友的数字为 到 ,每个数字恰好出现一次(不一定按顺序),且 | ||