归并排序求逆序对模板(未完待续)

匿名 (未验证) 提交于 2019-12-02 23:52:01

\(1.\) POJ2299(需要该篇博文的阅读密码)

\(View\) \(Code\)

void msort(int l,int mid,int r) {     if(l==r)         return;     msort(l,(l+mid)>>1,mid);     msort(mid+1,(r+mid+1)>>1,r);     int i=l,j=mid+1;     for(register int k=l;k<=r;k++)     {         if(j>r||(i<=mid&&a[i]<a[j]))             b[k]=a[i++];         else         {             ans+=mid-i+1;             b[k]=a[j++];         }     }     for(register int k=l;k<=r;k++)         a[k]=b[k]; }
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!