这个归并排序哪里写丑了
noip吧
全部回复
仅看楼主
level 2
VictorXie 楼主
void ms(int l, int r)
{
if (r - l > 1)
{
int mid = (l + r) >> 1;
int p = l;
int q = mid;
int i = l;
ms(l,mid);
ms(mid,r);
while (p < mid || q < r)
{
if (q >= r || (p < mid && a[p] <= a[q])) b[i++] = a[p++];
else
{
b[i++] = a[q++];
cnt += mid - p;
}
}
for (i = l ; i < r ; ++ i)
a[i] = b[i];
}
}
2015年01月31日 17点01分 1
level 12
丑在明明用的是c++,还手打排序。。。
2015年02月01日 02点02分 3
只是运用于求逆序对=- =
2015年02月01日 04点02分
@VictorXie 树状数组可解
2015年02月01日 04点02分
回复
��ˤ�˹�����
:线段树也可
2015年02月01日 10点02分
1