C++课后习题训练记录Day156 📅 2026/7/12 1:22:35 1.练习项目 问题描述给定长度为 n 的序列 a输出 a 中逆序对的数量。逆序对对于 1≤ij≤n若 aiaj 则 ai,aj 为一对逆序对。输入格式第一行输入一个正整数 n。(1≤n≤105)第二行输入 n 个正整数表示序列 a。(1≤ai≤109,1≤i≤n)输出格式输出一个整数表示 a 中逆序对的数量。2.选择课程在蓝桥云课中选择题库选择题号19875并开始练习。3.开始练习1源码 #includebits/stdc.husing namespace std;using lllong long;const int N32*1e510,M1e510;int a[M],e[N];int son[N][2],tot1;void insert(int x){int o1;e[o];for(int i30;i0;i--){int yxi1;if(!son[o][y])son[o][y]tot;oson[o][y];e[o];}}int query(int x){int o1,res0;for(int i30;i0;i--){int yxi1;//若y1则走0若y0则走1if(y0)rese[son[o][1]];if(!son[o][y])break;oson[o][y];}return res;}int main(){ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);int n;cinn;for(int i1;in;i)cina[i];ll ans0;for(int i1;in;i){ans1ll*query(a[i]);insert(a[i]);}coutans\n;return 0;}2检验结果对此代码进行检验检验后无报错提交此代码判题结果为正确100分。3练习心得注意每段代码末尾的分号是否存在如不存在则需即使补充输入法 是否切换 为英语模式语法是否错误。