题目大意:
x轴上方有n个小岛,现在x轴上建造雷达,每个雷达的辐射范围是d为半径的圆。求:为使所有小岛被辐射到,应当建造几个雷达。
题解:
情况:
1、要使小岛被辐射到,则小岛距离雷达距离小于等于雷达半径,
但通过雷达位置判断与小岛距离是难以实现的。
解决:
1、依次记录每个小岛可以被辐射到的雷达位置的范围并排序,若范围有交集则可以共同使用一雷达,若无交集则新建雷达。eg. 岛B左边界小于等于岛A右边界,则当前不需新建雷达,岛C左边界小于等于岛B但大于岛A边界,则当前应当新建一个雷达。
注意:岛与雷达距离计算公式:sqrt( (double) d d - y y);
1 |
|