给定基于归并排序merge部分的C++代码片段,判断它是否能正确统计数组a区间[l,r]内的逆序对总数
在一个数组中,如果两个元素a[i]和a[j]满足i < j且a[i] > a[j],则a[i]和a[j]是一个逆序对。
long long cnt=0;
void merge_count(vector<int>& a, int l, int m, int r){
int i = l, j = m + 1;
while(i <= m && j <= r) {
if(a[i] <= a[j]) i++;
else {
cnt += (m - i + 1);
j++;
}
}
}
正在加载题目数据…
子题
该题型需在试卷/作业中作答,单题练习暂不支持
答案解析