題目描述
貓貓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 或...