招新賽補題3

2021-08-14 07:09:45 字數 806 閱讀 7572

平面上有n個油井,現在要建立一條主幹線,用來把所有的油井產出的**都輸送出去,主幹線是平行於x軸的一條直線,每個油井通過一條支線把**輸送到主幹線上,現在給定n個油井在平面上的座標,那麼應該把主幹線建在什麼地方才能讓所有的支幹線的總長度最小呢?

input

首先乙個正整數n,接下來n行每行兩個整數,代表n個油井在平面上的位置。n和座標都是小於等於1000000的正整數。

output

輸出總的支幹線長度的最小值,每個結果佔一行。

sample input

2 0 0

10 10

sample output

10 首先這道題等於是求各個座標點相對於一條平行於x軸的距離(當然是座標點的縱座標)那麼明白這一點這道題也就解決了,要想這個距離最短。只要選出的那條線在座標點們之間就可以啦。把那些座標點的縱座標排乙個順序。然後用一條線把他們連線起來。這時候就會發現只要你選出的線與連線的線有交點(就是在剛才把縱座標排序的陣列之間)無論選擇的那條線在**,距離都是一樣的。這裡為了方便取縱座標們排的順序之間的那個數作為選出的線的縱座標。(n是奇數時(n+1)/2)。

#include

#include

#include

using

namespace

std;

int a[1000010];

intabs(int a,int b)

int main()

else

printf("%lld\n",sum);

return

0;}

ACM團隊招新賽題解

標程 全部為c語言編寫。中的 if local 至 endif 為本地一些除錯內容,可以忽略。簽到題,做不出的話可能你有點不太適合acm了。也沒什麼好說的,用乙個迴圈控制輸入的次數就行了 這是本次比賽最難的題目,用意在於賽後你們看見此題題解可以開拓一下思維方式,不要侷限於中學的思維,要掌握計算機。乍...

ACM團隊招新賽題解

標程 全部為c語言編寫。中的 if local 至 endif 為本地一些除錯內容,可以忽略。簽到題,做不出的話可能你有點不太適合acm了。也沒什麼好說的,用乙個迴圈控制輸入的次數就行了 這是本次比賽最難的題目,用意在於賽後你們看見此題題解可以開拓一下思維方式,不要侷限於中學的思維,要掌握計算機。乍...

ACM團隊招新賽題解

標程 全部為c語言編寫。中的 if local 至 endif 為本地一些除錯內容,可以忽略。簽到題,做不出的話可能你有點不太適合acm了。也沒什麼好說的,用乙個迴圈控制輸入的次數就行了 這是本次比賽最難的題目,用意在於賽後你們看見此題題解可以開拓一下思維方式,不要侷限於中學的思維,要掌握計算機。乍...