2018-1-31
其實就是貪心,每次將所選的點盡可能的向右,那麼我們所需的就會盡可能的少了。。。
#include
#include
#include
#define min 1e-5
using
namespace
std;
const
int n = 1000;
struct zbs[n+1];
int n,r;
//計算出可以覆蓋該島嶼的發射器的座標左右邊界
void cal(int i,double p,double q)
//按照右邊界進行排序
bool cmp(struct zb a,struct zb b)
cal(i,p,q);
}//所給資料不可能有解的情況,不能直接輸出然後continue,而是要等待它輸出完
if (flag)
if (n==0||n==1)
sort(s+1,s+n+1,cmp);//排序
int res=0,i=1;
double ee=s[1].xy;
while (i<=n)
if (i<=n) ee=s[i].xy;
res++;
}cout
<<"case "
<": "
0;}
POJ 1328 區間貪心,幾何
題目大意 以x軸為分界,y 0部分為海,y 0部分為陸地,給出一些島嶼座標 在海中 再給出雷達可達到範圍,雷達只可以安在陸地上,問最少多少雷達可以覆蓋所以島嶼。include include include includeusing namespace std int n,m struct node...
POJ 1328 還是區間貪心 數學思維
題意大致是,x y座標系中,x軸上方有n個點,那麼此時讓你在x軸上選若干點,以半徑為d作圓,使得上方的點都坐落在圓內,並且作的圓數量最少.一般這種在若干東西裡選取若干,使得選取數量最少,一般是貪心.這題看著不好求解,那麼數學上進行轉化.對於x軸上方的點p,顯然如果縱座標y大於d時,無法被圓心在x軸上...
POJ1328貪心放雷達
題意 有乙個二維座標,y 0是海,y 0是陸地,然後只能在y 0的岸邊上放雷達,有n個城市需要被監控,問最少放多少個雷達。思路 貪心去做就行了,其實題目不難但是這個題目過的並不怎麼順利,哎!一開始我的想法是按照x排序,然後從左往右乙個乙個放置雷達,第乙個放在第乙個點相切的右側,結果果斷wa了,然後就...