1881 求逆序數

2021-08-22 07:05:26 字數 933 閱讀 5960

時間限制: 2 sec  記憶體限制: 64 mb

提交: 137  解決: 44

您該題的狀態:已完成

[提交][狀態][討論版]

在乙個排列中,如果一對數的前後位置與大小順序相反,即前面的數大於後面的數,那麼它們就稱為乙個逆序。乙個排列中逆序的總數就稱為這個排列的逆序數。

現在,給你乙個n個元素的序列,請你判斷出它的逆序數是多少。

比如 1 3 2 的逆序數就是1。

第一行輸入乙個整數t表示測試資料的組數(1<=t<=5) 每組測試資料的每一行是乙個整數n表示數列中共有n個元素(2〈=n〈=1000000) 隨後的一行共有n個整數ai(0<=ai<1000000000),表示數列中的所有元素。 資料保證在多組測試資料中,多於10萬個數的測試資料最多只有一組。

輸出該數列的逆序數

2

21 1

31 3 2

0

1

ac**:

#include#includeusing namespace std;

#define n 1000002

long long a[n],b[n],sum;

void merge(int f,int m,int l) //合併

else b[k++]=a[i++];

} while(i<=m) b[k++]=a[i++];

while(j<=l) b[k++]=a[j++];

for(int i=f;i<=l;i++)

a[i]=b[i];

}void mergesort(int f,int l) //排序

}int main()

return 0;

}

XYNUOJ 1881 求逆序數

題目描述 在乙個排列中,如果一對數的前後位置與大小順序相反,即前面的數大於後面的數,那麼它們就稱為乙個逆序。乙個排列中逆序的總數就稱為這個排列的逆序數。現在,給你乙個n個元素的序列,請你判斷出它的逆序數是多少。比如 1 3 2 的逆序數就是1。輸入第一行輸入乙個整數t表示測試資料的組數 1 t 5 ...

求逆序數 逆序數 歸併排序

求排列的逆序數 分治 一 題目描述 總時間限制 1000ms 記憶體限制 65536kb 描述 在internet上的搜尋引擎經常需要對資訊進行比較,比如可以通過某個人對一些事物的排名來估計他 或她 對各種不同資訊的興趣,從而實現個性化的服務。對於不同的排名結果可以用逆序來評價它們之間的差異。考慮1...

NYOJ 求逆序數

時間限制 2000 ms 記憶體限制 65535 kb 難度 5 描述在乙個排列中,如果一對數的前後位置與大小順序相反,即前面的數大於後面的數,那麼它們就稱為乙個逆序。乙個排列中逆序的總數就稱為這個排列的逆序數。現在,給你乙個n個元素的序列,請你判斷出它的逆序數是多少。比如 1 3 2 的逆序數就是...