归并排序求逆序对模板(未完待续)
Posted peter0701
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了归并排序求逆序对模板(未完待续)相关的知识,希望对你有一定的参考价值。
归并排序求逆序对题目(持续更新)
\\(1.\\) \\(Ultra\\) \\(Quicksort\\) (需要该篇博文的阅读密码)
归并排序求逆序对
细节:传参三个,左、中、右三端点,每次运算注意中端点总取左右端点和的一半;返回条件为左右端点相等,此时无需排序。
\\(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];
以上是关于归并排序求逆序对模板(未完待续)的主要内容,如果未能解决你的问题,请参考以下文章