1424 例題3 噴水裝置

2021-10-07 21:53:18 字數 1177 閱讀 4509

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的圓都被潤濕。請在給出的噴水裝置中選擇盡量少的噴水裝置,把整個...