時間限制:1000ms
記憶體限制:131072kb
一條街道安裝無線網路,需要放置m個路由器。整條街道上一共有n戶居民,分布在一條直線上,每一戶居民必須被至少一台路由器覆蓋到。現在的問題是所有路由器的覆蓋半徑是一樣的,我們希望用覆蓋半徑盡可能小的路由器來完成任務,因為這樣可以節省成本。
輸入第一行包含兩個整數m和n,以下n行每行乙個整數hi表示該戶居民在街道上相對於某個點的座標。
輸出僅包含乙個數,表示最小的覆蓋半徑,保留一位小數。
2 31310
1.0【樣例輸出】(在2,10位置上各放乙個)
【資料規模】
對於60%的資料,有1 ≤n, m ≤100,-1000 ≤hi ≤1000;
對於100%的資料,有1 ≤n, m ≤100000,-10000000 ≤hi ≤10000000。
【題解】
二分答案,然後判斷是否符合,列舉即可。
1 #include2view codeusing
namespace
std;
3int
n,m,l,r,mid;
4int p[100010];5
char b[1
<<15],*s=b,*t=b;
6char
getchar2()
9int
read()
13while(ch>='
0'&&ch<='
9')
14return x*f;15}
16int
main()
27if(c>m) l=mid+1;28
else r=mid;29}
30 printf("
%.1lf
",l/2.0
);31
return0;
32 }
0.119s,再一次rank1 =-=
路由器安置 Routing
一條街道安裝無線網路,需要放置m個路由器。整條街道上一共有n戶居民,分布在一條直線上,每一戶居民必須被至少一台路由器覆蓋到。現在的問題是所有路由器的覆蓋半徑是一樣的,我們希望用覆蓋半徑盡可能小的路由器來完成任務,因為這樣可以節省成本。1 n,m 100000 首先這種問題可以採用二分答案的方法.嘗試...
路由器安置(routing)Solution
首先看一下題面吧 問題描述 一條街道安裝無線網路,需要放置m個路由器。整條街道上一共有n戶居民,分布在一條直線上,每一戶居民必須被至少一台路由器覆蓋到。現在的問題是所有路由器的覆蓋半徑是一樣的,我們希望用覆蓋半徑盡可能小的路由器來完成任務,因為這樣可以節省成本。輸入資料 輸入檔案第一行包含兩個整數m...
upc 路由器安置
時間限制 1 sec 記憶體限制 128 mb 題目描述 一條街道安裝無線網路,需要放置m個路由器。整條街道上一共有n戶居民,分布在一條直線上,每一戶居民必須被至少一台路由器覆蓋到。現在的問題是所有路由器的覆蓋半徑是一樣的,我們希望用覆蓋半徑盡可能小的路由器來完成任務,因為這樣可以節省成本。輸入第一...