百練 1328 放置雷達

2021-08-20 04:22:33 字數 535 閱讀 5155

參考題解:

貪心演算法:雷達必然位於區間端點處

題意:將每個島在x軸投影為區間(a,b),則需要找出這些區間的關係,

設定乙個end,假如當前區間開始結點小於end,則新建雷達,並將end設為右結點;假如當前區間右結點小於end,則更新end為當前區間右結點

#include #include #include #include #include using namespace std;

struct point

point(double s,double e)

};bool compare(point a,point b)else if(all[i].end>n>>d;

t++;}}

POJ 1328 放置雷達

這是一道貪心的題目,首先我們要知道,我們放置雷達的話我們可以做乙個轉換,就是已知島嶼的點座標的時候,我們可以算一下,這個點以d為半徑與x軸交點之間的線段在x軸上的投影,然後我們只需要在這個投影範圍內設定乙個雷達就可以了。然後我們讀入資料的時候,因為題目中說道,如果計算不出結果我們就輸出 1,一般來是...

POJ1328貪心放雷達

題意 有乙個二維座標,y 0是海,y 0是陸地,然後只能在y 0的岸邊上放雷達,有n個城市需要被監控,問最少放多少個雷達。思路 貪心去做就行了,其實題目不難但是這個題目過的並不怎麼順利,哎!一開始我的想法是按照x排序,然後從左往右乙個乙個放置雷達,第乙個放在第乙個點相切的右側,結果果斷wa了,然後就...

poj1328 雷達安裝問題

描述 假設滑行是無限直線。土地位於海岸的一側,海洋位於另一側。每個小島都位於海邊。並且位於滑行的任何雷達裝置只能覆蓋d距離,因此如果它們之間的距離最多為d,則可以通過半徑裝置覆蓋海中的島嶼。我們使用笛卡爾座標系,定義滑行是x軸。海側在x軸上方,陸側在下方。考慮到每個島嶼在海中的位置,並考慮到雷達裝置...