..

AcWing 107. 超快速排序

题目链接:107. 超快速排序 - AcWing题库

只通过比较和交换相邻两个数值的排序方法,实际上就是冒泡排序。

在排序过程中每找到一对大小颠倒的相邻数值,把它们交换,就会使整个序列的逆序对个数减少 $1$。

最终排好序后逆序对个数显然为 $0$,所以对 $a$ 进行冒泡排序需要的最少交流次数就是序列 $a$ 中逆序对的个数。

我们直接用归并排序求出 $a$ 的逆序对数就是本题的答案。

完整代码:超快速排序.cpp