a857: 分配曲奇2~
Tags : 排序 貪心
Accepted rate : 2人/10人 ( 20% ) [非即時]
評分方式:
Tolerant

最近更新 : 2022-10-26 19:41

Content

          這題和 分配曲奇1 的唯一差別在於士兵們的站法。這裏他們圍成一個圈。

這一天,紅藍軍團的 n 個士兵圍成了一個圈,並按順時針方向以 1, 2, ..., n 編號 (這樣 n 就和 1 相鄰)。為了犒賞他們,長官決定給每人分派剛好一個曲奇。我們知道,只有部分士兵負責到飯堂取曲奇給眾人,而且每位士兵拿的曲奇數目可能不同。唯一可以確定的是他們會共帶回 n 個曲奇。回來後,他們便用一個特殊的方法分發曲奇:每次,士兵可以把手上的一個曲奇傳給他身邊 (左邊或右邊) 的某人。由於大家都很餓,士兵們希望知道傳遞次數和的最小值。

準確地說,在眾人回到圈後,我們有剛好 n 個曲奇,其中第 i 個在圈上 pi 號士兵手上。每次操作相當於令剛好一位士兵把手上的一塊曲奇傳給相鄰的人。求使每人都得一塊曲奇的最小操作次數。

Input

第一行有一正整數 T (1 <= T <= 50),表示接下來有 T 組獨立的測資。(需要應答 T 次)

每個測資中共兩行。第一行給定一個整數 n (士兵和曲奇的數目);第二行則給 n 個整數(以空格隔開),依次表示每個 pi

1 <= n <= 105, 1 <= pi <= n。

Output

共輸出 T 行,分別為 T 個測資的答案。對第 i 個測資輸出傳遞次數之和的最小值。

Sample Input #1
2
4
1 2 1 3
4
3 2 2 3
Sample Output #1
1
2
Sample Input #2
4
5
1 2 3 4 5
5
4 3 1 4 1
6
3 6 2 1 6 1
3
3 3 3
Sample Output #2
0
2
4
2
測資資訊:
記憶體限制: 64 MB
不公開 測資點#0 (20%): 1.0s , <1K
不公開 測資點#1 (20%): 1.0s , <1K
不公開 測資點#2 (20%): 1.0s , <1M
不公開 測資點#3 (20%): 1.0s , <1M
不公開 測資點#4 (20%): 1.0s , <50M
Hint :

在範例輸入#1中,對第一個測資我們可以把第一個曲奇向逆時針方向傳遞一次;第二個測資中,可把第三個曲奇向逆時針方向傳一次和把第四個曲奇向順時針方向傳一次。

而對範例輸入#2第二個測資我們可把第一個和第五個曲奇各向順時針方向傳一次。

其餘測資情況類似。注意某些測資中達到最小步數的方法不唯一。

Tags:
排序 貪心
出處:
[管理者:
0863450-5@g.... (葉俊濠-2023Leave)
]


ID User Problem Subject Hit Post Date
沒有發現任何「解題報告」