洛谷 P1908 逆序對

2021-07-26 06:44:28 字數 999 閱讀 7494

題目描述

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

var  

i,n,t:longint;

a:array[0.

.100000] of longint;

h:array[0.

.100000] of longint;

procedure merge(l,r:longint);

var i,mid,left,right:longint;

begin

if l>=r then exit;

mid:=(l+r)>>1;

merge(l,mid); merge(mid+1,r);

left:=l; right:=mid+1;

for i:=l to r do begin

if (left<=mid)and((a[left]<=a[right])or(right>r)) then begin

h[i]:=a[left];

left:=left+1;

endelse begin

h[i]:=a[right];

right:=right+1;

t:=t+(mid-left+1);

end;

end;

for i:=l to r do

a[i]:=h[i];

end;

begin

readln(n);

for i:=1

to n do

read(a[i]);

merge(1,n);

writeln(t);

end.

洛谷P1908 逆序對

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

洛谷 P1908 逆序對

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

洛谷 P1908 逆序對

p1908 逆序對 法一 歸併排序求逆序對 不好理解,記一下 此處用的是從大到小排序,畢竟求的是序列中ai aj且i 在二路歸併的時候,設l i mid,mid 1 j r,要歸併的是a l 到a mid 還有a mid 1 到a r 只考慮a l 到a r 間產生的逆序對。在某時刻,要將a i 或...