マージソートのトピックを逆転しようとしている(継続的に更新)
\(1 \) \(ウルトラ\) \(クイックソート\) (このブログの記事のコードを読む必要があります)
逆の順序でソートをマージしようとしています
詳細:パラメータ3を渡し、左、中央、右の3 - ポイント、ノートエンドポイントの合計と各操作端末の約半分を取って、復帰条件は、約エンドポイントに等しく、この時点でソートしません。
\(ビュー\) \(コード\)
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];
}