XYNUOJ 1881 求逆序數

2021-09-20 03:10:37 字數 841 閱讀 4136

題目描述

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

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

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

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

輸出輸出該數列的逆序數

樣例輸入22

1 13

1 3 2

樣例輸出01

baoli會超時,用樹樁陣列或者線段樹或者歸併排序

#include#include#includeusing namespace std;

#define maxx 1000010

int c[maxx],n,a[maxx];

long long sum;

int b[maxx];

int lowbit(int x)

void add(int x,int w) //第x個值加上w

}int query(int x) //求序列中小於等於x的個數

return sum;

}int main()

sort(b,b+n);

for(int i=0;ifor(int i=0;iprintf("%lld\n",ans);

}return 0;

}

1881 求逆序數

時間限制 2 sec 記憶體限制 64 mb 提交 137 解決 44 您該題的狀態 已完成 提交 狀態 討論版 在乙個排列中,如果一對數的前後位置與大小順序相反,即前面的數大於後面的數,那麼它們就稱為乙個逆序。乙個排列中逆序的總數就稱為這個排列的逆序數。現在,給你乙個n個元素的序列,請你判斷出它的...

求逆序數 逆序數 歸併排序

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

NYOJ 求逆序數

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