1336: [Balkan2002]Alien最小圆覆盖
1337: 最小圆覆盖
Time Limit: 1 Sec Memory Limit: 162 MBSec Special Judge
Description
给出N个点,让你画一个最小的包含所有点的圆。
Input
先给出点的个数N,2<=N<=100000,再给出坐标Xi,Yi.(-10000.0<=xi,yi<=10000.0)
Output
输出圆的半径,及圆心的坐标
Sample Input
6
8.0 9.0
4.0 7.5
1.0 2.0
5.1 8.7
9.0 2.0
4.5 1.0
Sample Output
5.00
5.00 5.00
这两道题是最小圆覆盖的裸题,这里主要讲讲求最小圆覆盖的思路。
最小圆覆盖问题就是让你求一个最小的圆使得它能够刚好覆盖掉给出的点。本蒟蒻学习的是一种期望效率 O ( n ) O(n) O(n)的算法。
那么我们怎么做呢?
首先,我们假设前 i − 1 i-1 i−1个点已经被现在的圆给覆盖掉了,现在正在处理第 i i i个点,那么我们 c h e c k check chec