演算法題 貨倉選址(Python)

2021-10-14 08:50:00 字數 597 閱讀 5884

在一條數軸上有 n 家商店,它們的座標分別為 a1~an。

現在需要在數軸上建立一家貨倉,每天清晨,從貨倉到每家商店都要運送一車商品。

為了提高效率,求把貨倉建在何處,可以使得貨倉到每家商店的距離之和最小。

輸入格式

第一行輸入整數n。

第二行n個整數a1~an。

輸出格式

輸出乙個整數,表示距離之和的最小值。

資料範圍

1≤n≤10000

0≤ai≤40000

輸入樣例:

4

6 2 9 1

輸出樣例:

12
中位數為最佳選址地

n = int(input())

nums = list(map(int, input().split()))

nums.sort()

address = nums[n>>1]

res = 0

for num in nums:

res += abs(num-address)

print(res)

1 9 貨倉選址問題 Python

在一條數軸上有 n 家商店,它們的座標分別為 a1 an。現在需要在數軸上建立一家貨倉,每天清晨,從貨倉到每家商店都要運送一車商品。為了提高效率,求把貨倉建在何處,可以使得貨倉到每家商店的距離之和最小。輸入格式 第一行輸入整數n。第二行n個整數a1 an。輸出格式 輸出乙個整數,表示距離之和的最小值...

貨倉選址(貪心)

題目鏈結 在一條數軸上有 n 家商店,它們的座標分別為 a1 an。現在需要在數軸上建立一家貨倉,每天清晨,從貨倉到每家商店都要運送一車商品。為了提高效率,求把貨倉建在何處,可以使得貨倉到每家商店的距離之和最小。輸入格式 第一行輸入整數n。第二行n個整數a1 an。輸出格式 輸出乙個整數,表示距離之...

貨倉選址 貪心

貪心問題,一般就是乙個思維題,那麼下面這個問題用到乙個小小的知識,在數軸上有n個點,在數軸找一點x,使得所有點到x點距離之和最小 結論 當n為奇數時,x為數軸上點的中值點 當n為偶數時,x為數軸上點的兩個中值點中間區域的任何乙個點 證明 當n為奇數時,x選取中值點右邊任何乙個點,距離中值點距離為le...