uva 10382題解(貪心)

2021-07-02 05:36:44 字數 593 閱讀 6131

題目大意:

有一塊草坪,長為l,寬為w,在它的水平中心線上有n個位置可以安裝噴水裝置,各個位置上的噴水裝置的覆蓋範圍為以它們自己的半徑ri為圓。求出最少需要的噴水裝置個數。

8 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 16

-1這題可以轉化成區間覆蓋問題,簡單貪心

思路見碼

#include#include#include#include#include#include#include#include#include#include#include#includeusing namespace std;

#define ll long long

const int maxn=10005;

struct pen

ans++;

}if(d.rb>rmax)

}} if(pens[0].lb>0||rmax 

UVA 10382 貪心 最少圓

題目 給你一塊草地,有長,寬,給你n個噴頭,每個噴頭給出中心和噴灑範圍。求覆蓋這片草地的最小碰頭數量。思路 這是經典的貪心題,從左到右,把所有噴頭排序,現在第乙個噴頭的最右邊距離為right,找到剩下噴頭中噴頭能覆蓋right的,且噴頭右邊的距離最大的噴頭,然後更新最右邊的距離right。這裡注意計...

uva 10382 貪心 區間覆蓋問題

include stdio.h include cmath include algorithm include iostream using namespace std struct sgm a 10000 500 int main sort a,a cnt if cnt 0 a 0 l 0 a 1...

UVA 10382 (區間貪心)

注意每個圓管轄的區間不是最左或最右的端點而是和被覆蓋圖形的交點。直接按照每個圓的left排序 每次盡量尋找靠右的就可以了。include include include include include include include include include include include i...