注意,一个序列的正序对+逆序对永远是常数。 最后输出整个逆序对的结果。 index最后一层必为1; 交换的时候顺序对每pow(2,x)交换其实就是预先构建好的正序对交换到逆序对上,然后对逆序对求和。 #include<bits/stdc++.h> using namespace std; void merge(int arr[],int left,int mid,int right,int index,vector<long>& reorder){ vector<int> temp(right-left+1,0); int i =...