洛谷 P1908 逆序對

2022-06-21 14:12:11 字數 1012 閱讀 9051

貓貓 tom 和小老鼠 jerry 最近又較量上了,但是畢竟都是成年人,他們已經不喜歡再玩那種你追我趕的遊戲,現在他們喜歡玩統計。

最近,tom 老貓查閱到乙個人類稱之為「逆序對」的東西,這東西是這樣定義的:對於給定的一段正整數序列,逆序對就是序列中 \(a_i>a_j\) 且 iupdate:資料已加強。

第一行,乙個數 n,表示序列中有 n個數。

第二行 n 個數,表示給定的序列。序列中每個數字不超過 \(10^9\)。

輸出序列中逆序對的數目。

輸入 #1

6

5 4 2 6 3 1

輸出 #1
11
對於 25% 的資料,\(n \leq 2500\)

對於 50% 的資料,\(n \leq 4 \times 10^4\)。

對於所有資料,\(n \leq 5 \times 10^5\)

請使用較快的輸入輸出

應該不會 \(o(n^2)\) 過 50 萬吧 by chen_zhe

#include using namespace std;

#define ll long long

#define maxn 500000

int n,idatas[maxn],ibuffer[maxn];

ll mergereverse(int ilow, int imid, int ihigh)

}if(i<=imid)

for(int ii=i;ii<=imid;ii++)

ibuffer[k++]=idatas[ii];

else

for(int jj=j;jj<=ihigh;jj++)

ibuffer[k++]=idatas[jj];

return icrosspairs;

}ll reverseorderpairs(int ilow, int ihigh)

int main()

洛谷 P1908 逆序對

題目描述 貓貓tom和小老鼠jerry最近又較量上了,但是畢竟都是成年人,他們已經不喜歡再玩那種你追我趕的遊戲,現在他們喜歡玩統計。最近,tom老貓查閱到乙個人類稱之為 逆序對 的東西,這東西是這樣定義的 對於給定的一段正整數序列,逆序對就是序列中ai aj且i var i,n,t longint ...

洛谷P1908 逆序對

貓貓tom和小老鼠jerry最近又較量上了,但是畢竟都是成年人,他們已經不喜歡再玩那種你追我趕的遊戲,現在他們喜歡玩統計。最近,tom老貓查閱到乙個人類稱之為 逆序對 的東西,這東西是這樣定義的 對於給定的一段正整數序列,逆序對就是序列中ai aj且i輸入格式 第一行,乙個數n,表示序列中有n個數。...

洛谷 P1908 逆序對

貓貓tom和小老鼠jerry最近又較量上了,但是畢竟都是成年人,他們已經不喜歡再玩那種你追我趕的遊戲,現在他們喜歡玩統計。最近,tom老貓查閱到乙個人類稱之為 逆序對 的東西,這東西是這樣定義的 對於給定的一段正整數序列,逆序對就是序列中ai aj且i 輸入格式 第一行,乙個數n,表示序列中有n個數...