貨倉選址問題

2021-10-14 08:45:55 字數 770 閱讀 7937

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

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

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

輸入格式

第一行輸入整數n。

第二行n個整數a1~an。

輸出格式

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

資料範圍

1≤n≤100000,

0≤ai≤40000

輸入樣例

462

91

輸出樣例

12
這道題是利用了數學中的絕對值不等式的思想,在一維中任取一點到兩個點的距離之和最短的條件是,這個點位於兩點之間的區間上

做法:1.先將各個點按照位置進行排序

2.找到位置是中位數的點,並記錄(偶數是兩個點,選擇哪個都可以)

3.計算各個點到這個點的距離之和,即我們所求的最短距離之和。

拓展:1.一維擴充套件到二維:3167. 星星還是樹

2.擴充套件到d維:需要用模擬退火演算法(難度高)。

**:

#include

#include

using

namespace std;

const

int n =

1e6+10;

int a[n]

;int

main()

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...