5373. 最小交换次数(初赛)
普及-
时间限制:1000 MS 内存限制:256 MB
题目描述
## 题目描述 给定一个长度为 $N$ 的整数序列,你可以执行任意次操作,每次操作选择两个不同的位置 $i$ 和 $j$,交换这两个位置上的数值。 请你计算:**将该序列按数值从大到小(非递增)排列,所需的最少交换次数**。 ## 输入格式 - 第一行包含一个整数 $N$,表示序列长度。 - 第二行包含 $N$ 个整数 $a_1, a_2, \dots, a_N$,表示初始序列。 ## 输出格式 - 输出一个整数,表示最少交换次数。 ## 数据范围 - $1 \le N \le 10^5$ - $-10^9 \le a_i \le 10^9$ - **保证所有 $a_i$ 互不相同** ## 样例输入1 ``` 4 4 3 2 1 ``` ## 样例输出1 ``` 0 ``` ## 样例输入2 ``` 5 1 2 3 4 5 ``` ## 样例输出2 ``` 2 ```