2021 1 24(貨倉選址 蛇形矩陣)

2021-10-17 11:20:55 字數 1290 閱讀 8606

乙個數軸,上面有很多的點,要求找乙個點,到所有點的距離之和的值最小

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

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

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

輸入格式

第一行輸入整數n。

第二行n個整數a1~an。

輸出格式

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

資料範圍

1≤n≤100000,

0≤ai≤40000

輸入樣例:、

4

6 2 9 1

輸出樣例:

12
思路:就是找到中位數,若在超出這個中間範圍的兩邊去選取點的話,就會多加左邊部分或者右邊部分,所以先將原陣列進行排序,然後從兩邊開始,兩個數一組的進行分組找到中位數;裡面涉及到上下取整的問題,這個可以考慮兩個連著的數比如說5_6,選哪個都無所謂,所以不用具體分析,**如下

#include

#include

using namespace std;

const

int n =

100010

;int a[n]

;int n;

intmain()

資料範圍

1≤n,m≤100
輸入樣例:

3 3
輸出樣例:

1 2 3

8 9 4

7 6 5

看標題就能理解,不多贅述了, 主要就是靠乙個標記陣列進行簡化複雜的**,值得注意的是四個方向並不是平常我們座標系的那種方向,而是矩陣行列加一減一來判斷上下左右的方向

**如下:

#include

#include

using namespace std;

const

int n =

110;

int q[n]

[n];

int dx=

, dy=

;int

main()

x = a, y = b;

}for

(int i =

0; i < n; i ++

)return0;

}

貨倉選址(貪心)

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

貨倉選址 貪心

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

貨倉選址問題

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