P3430 [POI 2005] DWU-Double-row
题目描述
有 $2n$ 个士兵站成两排,他们需要被重新排列,以保证每一排里没有同样高的士兵——这样我们就说,士兵们被合理地安排了位置。 每次操作可以交换两个在同一位置(但不在同一排)的士兵。你的任务是用最少的操作来确保士兵们被合理地安排了位置。
例如:有 $18$ 个士兵站成两排,箭头标明了重新安排士兵位置的正确方式。

写一个这样的程序: 读入 $n$ 与士兵的身高,以及他们最初所站的位置,确保以最小的交换(站在同一位置的不同排的士兵)的次数来合理地安排士兵的位置,输出操作数。
输入格式
第一行,一个整数 $n$($1 \le n \le 5 \times {10}^4$)。
第二行有 $n$ 个正整数 $x_1,x_2,\ldots,x_n$($1 \le x_i \le {10}^5$),表示第一行中士兵的身高。
第三行有 $n$ 个正整数 $y_1,y_2,\ldots,y_n$($1 \le y_i \le {10}^5$),表示第二行中士兵的身高。
数据保证你能够合理地安排士兵的位置(即每个数在 $2n$ 个数中最多出现两次)。
输出格式
输出一行一个正整数,表示最少需要操作的次数。
翻译贡献者UID:57699