1311:【例2.5】求逆序對
時間限制: 1000 ms 記憶體限制: 65536 kb
【題目描述】
給定乙個序列a1,a2,…,an,如果存在iaj,那麼我們稱之為逆序對,求逆序對的數目。
【輸入】
第一行為n,表示序列長度,接下來的n行,第n+1行表示序列中的第n個數。
【輸出】
所有逆序對總數。
【輸入樣例】43
232【輸出樣例】
3【提示】
n≤10^5,ai≤10^5。
【**】
no
#include using namespace std;
long long a[100001];
long long r[100001];
long long ans=0;
void msort(long long s,long long t)
else
} while(i<=mid)
while(j<=t)
for(i=s;i<=t;i++) a[i]=r[i];
}int main(int argc,char* ar**)
1311 例2 5 求逆序對
題目描述 給定乙個序列a1,a2,ana1,a2,an,如果存在iajai aj,那麼我們稱之為逆序對,求逆序對的數目。輸入 第一行為nn,表示序列長度,接下來的nn行,第i 1i 1行表示序列中的第ii個數。輸出 所有逆序對總數。輸入樣例 43 232 輸出樣例 3 提示 n 105,ai 105...
1311 求逆序對
給定乙個序列a1,a2,a n,如果存在i i a j,那麼我們稱之為逆序對,求逆序對的數目。第一行為n,表示序列長度,接下來的n行,第i 1行表示序列中的第i個數。所有逆序對總數。432 32 3 n 105,a i 105 if 1 include include include include...
歸併求逆序對
求這個逆序對只需要在歸併排序的 中加一句即可。感覺自己有點說不清楚,隨手附上別人的詳細解釋,請戳 詳細介紹 include include includeusing namespace std int a 1000000 int b 1000000 int sum 0 void merge int ...