GESP C++ 真题 · 逐题精解
首页C++五级真题 › 2026年3月 › 第5题

GESP 2026年3月 C++五级 判断题 第5题

C++五级判断题2026年3月第5题

所属知识点:综合应用(跨题型) 难度要求:掌握 考频:—

在一个数组中,如果两个元素 a[i] 和 a[j] 满足 i < j 且 a[i] > a[j],则 a[i] 和 a[j] 是一个逆序对。下面代码可以正确统计数组 a 区间 [l, r] 内的逆序对总数。
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++;
}
}
}

正确答案:错误(×)

题目解析
错。这段 merge_count 只做了一次合并统计、没有递归分治,无法统计区间内全部逆序对。

想系统刷完 GESP C++ 1~8 级真题,并查看每道题的逐题精讲?

进入 GESPPASS 开始练习