NYOJ 12 噴水裝置(二)貪心

2021-07-25 14:29:51 字數 1027 閱讀 7541

時間限制:

3000 ms  |  記憶體限制:

65535 kb

難度: 4

描述 有一塊草坪,橫向長w,縱向長為h,在它的橫向中心線上不同位置處裝有n(n<=10000)個點狀的噴水裝置,每個噴水裝置i噴水的效果是讓以它為中心半徑為ri的圓都被潤濕。請在給出的噴水裝置中選擇盡量少的噴水裝置,把整個草坪全部潤濕。

輸入第一行輸入乙個正整數n表示共有n次測試資料。

每一組測試資料的第一行有三個整數n,w,h,n表示共有n個噴水裝置,w表示草坪的橫向長度,h表示草坪的縱向長度。

隨後的n行,都有兩個整數xi和ri,xi表示第i個噴水裝置的的橫座標(最左邊為0),ri表示該噴水裝置能覆蓋的圓的半徑。

輸出每組測試資料輸出乙個正整數,表示共需要多少個噴水裝置,每個輸出單獨佔一行。

如果不存在一種能夠把整個草坪濕潤的方案,請輸出0。

樣例輸入

2

2 8 6

1 14 5

2 10 6

4 56 5

樣例輸出

1

2

以為是個dp,原來是個貪心,維護乙個相對於當前位置能夠向右覆蓋的最大距離,依次更新即可

#include#include#include#includeusing namespace std;

const int maxn = 1e5+10;

struct noderec[maxn];

bool cmp(const node& a, const node& b)

int main()

sort(rec, rec+v, cmp);

bool flag = false;

while(cur < w)

if(max == 0)

cur += max;

ans++;

} printf("%d\n", flag ? 0 : ans);

} return 0;

}

NYOJ 12 噴水裝置(二) 貪心)

時間限制 3000 ms 記憶體限制 65535 kb 難度 4 描述 有一塊草坪,橫向長w,縱向長為h,在它的橫向中心線上不同位置處裝有n n 10000 個點狀的噴水裝置,每個噴水裝置i噴水的效果是讓以它為中心半徑為ri的圓都被潤濕。請在給出的噴水裝置中選擇盡量少的噴水裝置,把整個草坪全部潤濕。...

NYOJ12 噴水裝置(二) 貪心

時間限制 3000 ms 記憶體限制 65535 kb 難度 4 描述 有一塊草坪,橫向長w,縱向長為h,在它的橫向中心線上不同位置處裝有n n 10000 個點狀的噴水裝置,每個噴水裝置i噴水的效果是讓以它為中心半徑為ri的圓都被潤濕。請在給出的噴水裝置中選擇盡量少的噴水裝置,把整個草坪全部潤濕。...

nyoj 12 噴水裝置(二) 貪心

記憶體限制 64mb 時間限制 3000ms special judge no accepted 10 submit 30 有一塊草坪,橫向長w,縱向長為h,在它的橫向中心線上不同位置處裝有n n 10000 個點狀的噴水裝置,每個噴水裝置i噴水的效果是讓以它為中心半徑為ri的圓都被潤濕。請在給出的...