題目描述
在乙個排列中,如果一對數的前後位置與大小順序相反,即前面的數大於後面的數,那麼它們就稱為乙個逆序。乙個排列中逆序的總數就稱為這個排列的逆序數。
現在,給你乙個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 的逆序數就是...