码迷,mamicode.com
首页 > 其他好文 > 详细

1908-逆序对(归并板子)

时间:2019-03-04 21:00:10      阅读:219      评论:0      收藏:0      [点我收藏+]

标签:pac   const   read   style   targe   getc   http   etc   mes   

传送门

 

很早很早以前的题了

今天突然开心

就来补一片题解

主要还是写归并排序的

 

#include<cstdio>
#define ll long long 
using namespace std;

const int maxn=5e5+5;
int a[maxn],r[maxn],n;
ll ans=0;

void msort(int s,int t)
{
    if(s==t) 
        return;
    int mid=s+t>>1;
    msort(s,mid),msort(mid+1,t);
    int i=s,j=mid+1,k=s;
    while(i<=mid&&j<=t)
        if(a[i]<=a[j]) 
            r[k++]=a[i++];
        else 
            r[k++]=a[j++],ans+=(ll)mid-i+1;
    while(i<=mid) 
        r[k]=a[i],k++,i++;
    while(j<=t) 
        r[k]=a[j],k++,j++;
    for(int i=s;i<=t;i++) 
        a[i]=r[i];
}
inline int read()
{
    char ch=getchar();
    int sum=0,k=1;
    while(ch<0||ch>9)
    {
        if(ch==-) 
            k=-1;
        ch=getchar();
    }
    while(ch>=0&&ch<=9) 
        sum=sum*10+(ch^48),ch=getchar();
    return sum*k;
}
int main()
{
    scanf("%d",&n);
    for(int i=1;i<=n;i++) 
        a[i]=read();
    msort(1,n);
    printf("%lld\n",ans);
    return 0;
}

 

1908-逆序对(归并板子)

标签:pac   const   read   style   targe   getc   http   etc   mes   

原文地址:https://www.cnblogs.com/darlingroot/p/10472698.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!