用归并排序统计逆序对,合并部分的核心代码为 如下 若把判断条件中的 a[i] <= a[j] 改成 a[i] < a[j],则 ans 统计出的结果是( )。
// 归并 a[l...mid] 与 a[mid+1...r],同时累加逆序对
if (a[i] <= a[j]) {
tmp[k++] = a[i++]; // 取左半段元素
}
else {
tmp[k++] = a[j++]; // 取右半段元素
ans += mid - i + 1;
}
完全不变
变为原来的两倍
变为满足 i < j 且 a[i] >= a[j] 的数对个数
变为原来的一半