歸併排序 逆序對的數量

2021-10-02 04:08:57 字數 815 閱讀 7120

傳送門

輸入樣例:

62 3 4 5 6 1

輸出樣例:

5思路:利用歸併排序的思維統計逆序對的數量,可分為三種情況。

**實現

#include

using

namespace std;

typedef

long

long ll;

const

int maxn=

1e6+5;

int n;

int q[maxn]

,tmp[maxn]

;ll merge_sort

(int l,

int r)

}//掃尾

while

(i <= mid) tmp[k ++

]= q[i ++];

while

(j <= r) tmp[k ++

]= q[j ++];

//歸還

for(

int i = l, j =

0; i <= r; i ++

, j ++

) q[i]

= tmp[j]

;return res;

}int

main()

C 逆序對的數量(歸併排序)

給定乙個長度為n的整數數列,請你計算數列中的逆序對的數量。逆序對的定義如下 對於數列的第 i 個和第 j 個元素,如果滿足 i j 且 a i a j 則其為乙個逆序對 否則不是。輸入格式 第一行包含整數n,表示數列的長度。第二行包含 n 個整數,表示整個數列。輸出格式 輸出乙個整數,表示逆序對的個...

逆序對的數量 歸併排序模擬

題目鏈結 給定乙個長度為n的整數數列,請你計算數列中的逆序對的數量。逆序對的定義如下 對於數列的第 i 個和第 j 個元素,如果滿足 i j 且 a i a j 則其為乙個逆序對 否則不是。第一行包含整數n,表示數列的長度。第二行包含 n 個整數,表示整個數列。輸出乙個整數,表示逆序對的個數。資料範...

逆序對 (歸併排序)

逆序對的nlogn方法,改進後的歸併排序 給定排列p,求排列的逆序對數量。p的長度 100000。要求o nlogn 定義歸併排序過程merge l,r merge l,r merge l,mid merge mid 1,r count l,mid,mid 1,r 只需要考慮左右兩段之間造成的逆序對...