time limit: 10 second
memory limit: 2 mb
由檔案input.txt 提供輸入資料。檔案的第1 行是油井數n,1≤n≤10000。接下來n 行是 油井的位置,每行2個整數x和y,-10000≤x,y≤10000。
output
程式執行結束時,將計算結果輸出到檔案output.txt 中。檔案的第1 行中的數是油井到 主管道之間的輸油管道最小長度總和。
sample input
5 1 2
2 2
1 3
3 -2
3 3
sample output
【題目鏈結】:
【題解】
把所有的點按照y軸公升序排;
然後取中位數(n+1)/2;
這個下標作為中位數d;然後把所有的點的縱座標減去該d的絕對值累加到答案裡就是最終答案了;
【完整**】
#include
#include
using
namespace
std;
const
int maxn = 1e4+100;
struct abc
;int n;
abc a[maxn];
bool cmp(abc a,abc b)
int main()
輸油管道問題
某石油公司計畫建造一條由東向西的主輸油管道。該管道要穿過乙個有n 口油井的油田。從每口油井都要有一條輸油管道沿最短路經 或南或北 與主管道相連。如果給定n 口油井的位置,即它們的x 座標 東西向 和y 座標 南北向 應如何確定主管道的最優位置,即使各油井到主管道之間的輸油管道長度總和最小的位置?1 ...
輸油管道問題
某石油公司計畫建造一條由東向西的主輸油管道。該管道要穿過乙個有n口油井的油田。從每口油井都要有一條輸油管道沿最短路經 或南或北 與主管道相連。如果給定n口油井的位置,即它們的x座標 東西向 和y座標 南北向 應如何確定主管道的最優位置,即使各油井到主管道之間的輸油管道長度總和最小的位置?給定n口油井...
輸油管道問題
根據中位數定理,要使總和距離最小,應該選擇中位數作為目標點。因此解決此問題的方法就是將各個油井投影到y軸,找到y座標的中位數即可。解題思路 要找出乙個數的中位數,最簡單的方法就是對陣列進行排序,但是快速排序的時間複雜度也需要o nlogn 對與有序陣列a n 如果陣列是奇數個,中位數就是a n 2 ...