链接:
#include <stdio.h>
int main()
{
puts("转载请注明出处[辗转山河弋流歌 by 空灰冰魂]谢谢");
puts("网址:blog.csdn.net/vmurder/article/details/46605193");
}
题解之前:
首先最小圆覆盖虽然有三层 for 循环,但是它是期望 O(n) 的。什么?你问我为啥?那我只能呵呵了,50W的 O(n3) 高速跑过。
后交的是不求凸包直接跑的,先交的是求了凸包再跑的。。并没有什么差距。
题解:
这道题我们可以先写一份求凸包来缩减点的规模,如果点是随机生成的,那么期望有不到100个点在凸包上,然后就可以乱搞了(其实毛用没有2333)
然后这道题需要用到 [最小圆覆盖] (呃其实这道题就是裸的最小圆覆盖……)
最小圆覆盖:
初始圆为 点 1 这个半径为
for1ni=2 若