摘要:
http://acm.hdu.edu.cn/showproblem.php?pid=3007 前几天认真看了一下最小圆覆盖的论文,对于随机点集,只需要按顺序插入。每次插入分两种情况,一种是点在当前的圆中,另一种是点在园外。在圆中可以直接不理,在圆外的就要枚举所有构成最小覆盖圆的可能了。当发现点在圆外的时候,这个点必定是当前要找到的最小圆经过的点之一,于是就可以枚举出两个点和三个点的情况。看上去是一个O(n^3)的算法,但是对于随机的插入的点,剪枝可以使得复杂度降到期望的O(n)的规模。代码如下: 1 #include <cstdio> 2 #include <cmath> 阅读全文