荒岛探测 (扫描线 高数 二分)(蓝桥杯)
作者:互联网
试题 历届试题 荒岛探测【第十一届】【省赛】【A组】 资源限制 内存限制:256.0MB C/C++时间限制:1.0s Java时间限制:3.0s Python时间限制:5.0s 问题描述 科学家小蓝来到了一个荒岛,准备对这个荒岛进行探测考察。 小蓝使用了一个超声定位设备来对自己进行定位。为了使用这个设备,小蓝需要在不同的点分别安装一个固定的发射器和一个固定的接收器。小蓝手中还有一个移动设备。定位设备需要从发射器发射一个信号到移动设备,移动设备收到后马上转发,最后由接收器接收,根据这些设备之间传递的时间差就能计算出移动设备距离发射器和接收器的两个距离,从而实现定位。 小蓝在两个位置已经安装了发射器和接收器,其中发射器安装在坐标 ,接收器安装在坐标 。小蓝的发射器和接收器可能在岛上,也可能不在岛上。 小蓝的定位设备设计有些缺陷,当发射器到移动设备的距离加上移动设备到接收器的距离之和大于 时,定位设备工作不正常。当和小于等于 时,定位设备工作正常。为了安全,小蓝只在定位设备工作正常的区域探测考察。 已知荒岛是一个三角形,三个顶点的坐标分别为 , , 。 请计算,小蓝在荒岛上可以探测到的面积有多大? 输入格式 输入的第一行包含五个整数,分别为 , , , , 。 第二行包含六个整数,分别为 , , , , , 。 输出格式 输出一行,包含一个实数,四舍五入保留 位小数,表示答案。 考虑到计算中的误差,只要你的输出与参考输出相差不超过 即可得分。 样例输入 10 6 4 12 12 0 2 13 2 13 15 Data 样例输出 39.99 Data 样例说明 荒岛的形状和定位设备工作正常的区域如下图所示,蓝色的三角形表示荒岛,红色的曲线围成的区域为定位设备工作正常的区域。 island.png 当输出为 、 或 时可以得分。 评测用例规模与约定 对于所有评测用例,保证发射器的两个坐标不同,, , 。View problem
思路: 利用一条平行y轴的扫描线, 分别扫描 三角形和椭圆的重叠部分,就行拉。
但是由于椭圆的方程比较难求,直接 利用直线和三角形的交点 y值 去 二分这个y 看那个y满足就行了。
时间复杂度 n(logn) n=10^6;
标签:接收器,定位,发射器,荒岛,蓝桥,小蓝,扫描线,高数,设备 来源: https://www.cnblogs.com/Lamboofhome/p/16080169.html