a333: P-5-4. 反序數量 (APCS201806)
標籤 : 分治法
通過比率 : 22人/24人 ( 92% ) [非即時]
評分方式:
Tolerant

最近更新 : 2023-05-30 11:27

內容

考慮一個數列A[1:n]。如果A中兩個數字A[i]和A[j]滿足i<j且A[i]>A[j],也就是在前面的比較大,則我們說(a[i],a[j])是一個反序對(inversion)。定義W(A)為數列A中反序對數量。例如,在數列A=(3,1,9,8,9,2)中,一共有(3,1)、(3,2)、(9,8)、(9,2)、(8,2)、(9,2)一共6個反序對,所以W(A)=6。請注意到序列中有兩個9都在2之前,因此有兩個(9,2)反序對,也就是說,不同位置的反序對都要計算,不管兩對的內容是否一樣。請撰寫一個程式,計算一個數列A的反序數量W(A)。

輸入說明

第一行是一個正整數n,代表數列長度,第二行有n個非負整數,是依序數列內容,數字間以空白隔開。n不超過1e5數列內容不超過1e6。

輸出說明

輸出反序對數量。

範例輸入 #1
6
3 1 9 8 9 2
範例輸出 #1
6
測資資訊:
記憶體限制: 64 MB
公開 測資點#0 (20%): 1.0s , <1M
公開 測資點#1 (20%): 1.0s , <1M
公開 測資點#2 (20%): 1.0s , <1M
公開 測資點#3 (20%): 1.0s , <1M
公開 測資點#4 (20%): 1.0s , <1M
提示 :
標籤:
分治法
出處:
AP325 [管理者:
haha (大學長)
]


編號 身分 題目 主題 人氣 發表日期
沒有發現任何「解題報告」