E 假设从小到大排序,每次交换相邻两个,最小次数即冒泡排序也就是逆序对 考虑值域较小,把每个值映射到\([1,20]\) 设\(f_i\)为已经加入集合为\(i\)的值的最小逆序对个数,考虑填表法 即枚举每个在i里的数x,考虑其为最后加进来的数 再枚举其他的数y,考虑在原序列中形似(x,y)的个数,这个很容易预处理出来 #include<bits/stdc++.h> typedef long long LL; const LL maxn=1e6+9,inf=0x3f3f3f3f3f3f3f3f…