【文件属性】:
文件名称:逆序对 程序
文件大小:895B
文件格式:CPP
更新时间:2021-10-26 03:26:52
algorithm
#include
#include
#include
using namespace std;
long long a[100001],b[100001];
long long n,sum=0;
void msort(long long *a,long long *b,long long start,long long mid,long long end)
{
long long i=start,j=mid+1,k=start;
while(i<=mid&&j<=end)
{
if(a[i]<=a[j]) b[k++]=a[i++];
else {sum+=j-k;
b[k++]=a[j++];
}
}
while(i<=mid) b[k++]=a[i++];
while(j<=end) b[k++]=a[j++];
for(long long i=start;i<=end;i++)
a[i]=b[i];
}
void mmsort(long long *a,long long start,long long end)
{
if(start