标签:include amp blog div log 归并 str void 逆序对数
Codevs
/* 作者:thmyl 题目:p1688 求逆序对 */ #include<iostream> using namespace std; long long n,a[1000000],tot,temp[10000000]; void sor(int l,int r) { if(l==r)return ; int mid=(l+r)/2; sor(l,mid); sor(mid+1,r); int i=l,p=l,j=mid+1; while(i<=mid&&j<=r) { if(a[i]>a[j])tot+=mid-i+1,temp[p++]=a[j++]; else temp[p++]=a[i++]; } while(i<=mid)temp[p++]=a[i++]; while(j<=r)temp[p++]=a[j++]; for(int i=l;i<=r;i++)a[i]=temp[i]; } int main() { cin>>n; for(int i=1;i<=n;i++) cin>>a[i]; sor(1,n); cout<<tot; }
标签:include amp blog div log 归并 str void 逆序对数
原文地址:http://www.cnblogs.com/thmyl/p/7041165.html