1424:【例題3】噴水裝置
時間限制: 1000 ms 記憶體限制: 65536 kb
提交數: 3003 通過數: 617
【題目描述】
長 l 公尺,寬 w 公尺的草坪裡裝有 n 個澆灌噴頭。每個噴頭都裝在草坪中心線上(離兩邊各 w2 公尺)。我們知道每個噴頭的位置(離草坪中心線左端的距離),以及它能覆蓋到的澆灌範圍。
請問:如果要同時澆灌整塊草坪,最少需要開啟多少個噴頭?
【輸入】
輸入包含若干組測試資料。
第一行乙個整數 t 表示資料組數;
每組資料的第一行是整數 n、l 和 w;
接下來的 n 行,每行包含兩個整數,給出乙個噴頭的位置和澆灌半徑(上面的示意圖是樣例輸入第一組資料所描述的情況)。
【輸出】
對每組測試資料輸出乙個數字,表示要澆灌整塊草坪所需噴頭數目的最小值。如果所有噴頭都開啟也不能澆灌整塊草坪,則輸出 −1 。
【輸入樣例】
38 20 2
5 34 1
1 27 2
10 2
13 3
16 2
19 4
3 10 1
3 59 3
6 13 10 1
5 31 1
9 1【輸出樣例】62
-1【提示】
資料範圍:
對於 100% 的資料,n≤15000。
問題思路:用時最少的區間個數填滿整個區域
#include
#define ll long long
#define pii pair
using
namespace std;
const
int n=
1e4+
5005
;struct node
}a[n]
;int t,n;
double l,w,pos,r;
intmain()
sort
(a,a+num)
;double s=0;
//s表示目前覆蓋區域
int i=
0,res=0;
while
(s(s>=l)
cout << res << endl;
}return0;
}
1424 例題3 噴水裝置
題解 所以就可以吧這些圓簡化為線段 思路 讀入,圓變線段 讀入資料,並計算 a cnt s p sqrt r r w 2.0 w 2.0 a cnt e p sqrt r r w 2.0 w 2.0 跑區間覆蓋 按s i s進行從小到大快排,從左到右依次處理每個區間,跑區間覆蓋 將所有的區間按左端點...
NYOJ 噴水裝置一 水題(貪心)
時間限制 3000 ms 記憶體限制 65535 kb 難度 3描述 現有一塊草坪,長為20公尺,寬為2公尺,要在 橫中心線 上放置半徑為ri的噴水裝置,每個噴水裝置的效果都會讓以它為中心的半徑為實數ri 0輸入 第一行m表示有m組測試資料 每一組測試資料的第一行有乙個整數數n,n表示共有n個噴水裝...
南陽理工ACM 12題 噴水裝置(二)
噴水裝置 二 時間限制 3000 ms 記憶體限制 65535 kb 難度 4 描述 有一塊草坪,橫向長w,縱向長為h,在它的橫向中心線上不同位置處裝有n n 10000 個點狀的噴水裝置,每個噴水裝置i噴水的效果是讓以它為中心半徑為ri的圓都被潤濕。請在給出的噴水裝置中選擇盡量少的噴水裝置,把整個...