題目描述
給定乙個長度為n的整數數列,請你計算數列中的逆序對的數量。
逆序對的定義如下:對於數列的第 i 個和第 j 個元素,如果滿足 i < j 且 a[i] > a[j],則其為乙個逆序對;否則不是。
輸入格式
第一行包含整數n,表示數列的長度。
第二行包含 n 個整數,表示整個數列。
資料範圍
1≤n≤100000
輸入樣例
6
2 3 4 5 6 1
輸出樣例5
題目思路
採用歸併排序演算法,思路與歸併排序是一樣的
#includeusing namespace std;
const int n = 1e5+10;
int q[n],tmp[n];
long long int merge_sort(int q,int l,int r)
int main()
ACWing 788 逆序對的數量
給定乙個長n nn的數列,計算其逆序對數量。輸入格式 第一行包含整數n nn,表示數列的長度。第二行包含n nn個整數,表示整個數列。輸出格式 輸出乙個整數,表示逆序對的個數。資料範圍 1 n 100000 1 le n le 100000 1 n 10 0000 思路是歸併排序 分治 先累加左右兩...
題解 AcWing 788 逆序對的數量
acwing 788.逆序對的數量 看了大佬的題解後對於歸併又有了更深的理解,在這裡引用一下dongwa zzuli大佬的題解acwing 788.逆序對的數量,感興趣的小夥伴可以看看 給定乙個長度為n的整數數列,請你計算數列中的逆序對的數量。逆序對的定義如下 對於數列的第 i 個和第 j 個元素,...
AcWing 788 逆序對的數量(C 演算法)
逆序對的定義如下 對於數列的第 i 個和第 j 個元素,如果滿足 i j 且 a i a j 則其為乙個逆序對 否則不是。輸入格式 第一行包含整數n,表示數列的長度。第二行包含 n 個整數,表示整個數列。輸出格式 輸出乙個整數,表示逆序對的個數。資料範圍 1 n 100000 輸入樣例 62 3 4...