swapsort专题

Codeforces 1375 E. Inversion SwapSort —— 想法,贪心

This way 题意: 现在有一个长度为n的数组,让你按照一个顺序去交换所有一开始的数组的逆序对的位置,从而使得最终的数组非递减。 题解: 那么就是从前往后去做,对于当前位置,找到所有一开始数组中的它与它之后的逆序对的位置,然后按照数值从大到小去交换,这样的话,既能保证最终放在这个位置的值是当前最小的,又能不破坏后面的值的大小情况。 #include<bits/stdc++.h>u

CF1375E Inversion SwapSort 题解

CF1375E Inversion SwapSort CF1375E Inversion SwapSort 发现逆序对不是很好入手,考虑最终构成的序列是单调递增的情况。 不妨考虑这是一个排列的情况。 显然离散化一下答案不会改变。 发现 n n n 肯定是在最后面,那么对于一开始的序列我们不妨考虑将 n n n 放到最后面之后转化成一个子问题。 那么对于一个合法的子问