時間限制: 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 的逆序數就是...