Radar Installation
题目:给一些孤岛(用坐标x,y表示),x轴为海岸线,在海岸线上建立几个雷达站,每个雷达站的覆盖区域为一个圆,半径给出。问最少要几个雷达站,才能覆盖所有孤岛。
这个问题需要注意两点:
1、将问题转化
以每个孤岛为圆心,已知半径画圆,交海岸线于两点,得到一个区间。在区间上任一一点建立雷达站均可覆盖目标点。于是问题变为:给n个区间,选出最少的点使得每个区间至少有一个点。
2、贪心算法
将每个区间按左边进行升序排序,对排序后的区间进行贪心算法求解。
代码如下:
Radar Installation
题目:给一些孤岛(用坐标x,y表示),x轴为海岸线,在海岸线上建立几个雷达站,每个雷达站的覆盖区域为一个圆,半径给出。问最少要几个雷达站,才能覆盖所有孤岛。
这个问题需要注意两点:
1、将问题转化
以每个孤岛为圆心,已知半径画圆,交海岸线于两点,得到一个区间。在区间上任一一点建立雷达站均可覆盖目标点。于是问题变为:给n个区间,选出最少的点使得每个区间至少有一个点。
2、贪心算法
将每个区间按左边进行升序排序,对排序后的区间进行贪心算法求解。
代码如下: