其他分享
首页 > 其他分享> > 杂项--归并排序

杂项--归并排序

作者:互联网

inline void mergesort(int L,int R){
    int M=(L+R)>>1;
    if(M>L) mergesort(L,M);
    if(M+1<R) mergesort(M+1,R);
    int k=L,t1=L,t2=M+1;
    while(t1<=M && t2<=R){
        if(b[t1]<=b[t2]){
            p[k++]=b[t1++];
        }
        else{
            ans+=(M-t1+1);
            p[k++]=b[t2++];
        }
    }
    while(t1<=M) p[k++]=b[t1++];
    while(t2<=R) p[k++]=b[t2++];
    fo(i,L,R) b[i]=p[i];
}

最经典就是求逆序对吧,比数据结构去维护实际上是要快多的

标签:mergesort,归并,--,void,int,inline,杂项,逆序
来源: https://www.cnblogs.com/simpleton/p/15319342.html