郵局選址問題

2021-08-18 19:38:16 字數 807 閱讀 2363

描述:在乙個按照東西和南北方向劃分成規整街區的城市裡,n個居民點散亂地分布在不同的街區中。用x 座標表示東西向,用y座標表示南北向。各居民點的位置可以由座標(x,y)表示。   街區中任意2 點(x1,y1)和(x2,y2)之間的距離可以用數值|x1-x2|+|y1-y2|度量。   居民們希望在城市中選擇建立郵局的最佳位置,使n個居民點到郵局的距離總和最小。   任務:給定n 個居民點的位置,程式設計計算n 個居民點到郵局的距離總和的最小值

輸入:

第1 行是居民點數n,1 < = n < =10000。接下來n 行是居民點的位置,每行2 個整數x 和y,-10000 < =x,y < =10000。
輸出:

n 個居民點到郵局的距離總和的最小值。
輸入樣例:

5

1 22 2

1 33 -2

3 3

樣例輸出
10
解題思路:問題可以化簡為一維的已知點集中,尋乙個點,各點到該點的距離之和最短,然後做兩次一維最優點運算,兩次座標一組合便是二維情況下的最優點。根據題中要求,距離可用|x1-x2|+|y1-y2|度量,則將兩次一維情況下的距離之和相加便是二維情況下的最優距離。

不難得出,在一維情況下,最優點為各點的中點。

**:

#include#include#includeusing namespace std;

int main()

sort(a,a+n);

sort(b,b+n);

c=a[n/2];

d=b[n/2];

for(int i=0;icout<}

郵局選址問題

在乙個按照東西和南北方向劃分成規整街區的城市裡,n個居民點散亂地分布在不同的街區中。用 x 座標表示東西向,用 y座標表示南北向。各居民點的位置可以由座標 x,y 表示。街區中任意2 點 x1,y1 和 x2,y2 之間的距離可以用數值 x1 x2 y1 y2 度量。居民們希望在城市中選擇建立郵局的...

郵局選址問題 分治

問題描述 在乙個按照東西和南北方向劃分成規整街區的城市裡,n個居民點散亂地分布在不同的街區中。用x座標表示東西向,用y座標表示南北向。各居民點的位置可以由座標 x,y 表示。要求 為建郵局選址,使得n個居民點到郵局之距離的總和最小。以檔案輸入形式進行測試。思路 運用分治思想。將居民點的座標從輸入檔案...

動態規劃 郵局選址問題

題目 有一條公路經過 個村莊,每乙個村莊都處在整數的座標點上 這裡假設公路為數軸 規劃在這條公路上建立 個郵局,每乙個郵局都要建在某個村莊上,要求讓不同村莊的人到郵局要走的總路程最小。分析 用動態規劃的辦法,先把輸入的村莊排序,然後計算只有乙個郵局的情況,然後再根據已有的資訊,計算p p 2 個郵局...