首先我写了个凸包就溜了 这是最小圆覆盖问题,今晚学了一下 先随机化点,一个个加入 假设当前圆心为o,半径为r,加入的点为i 若i不在圆里面,令圆心为i,半径为0 再重新从1~i-1不停找j不在圆里面,令圆心为ij中点,直径为ij距离 再重新在1~j-1不停找k不在圆里面,三点可确定一圆,初中数学 复 ...
分类:
其他好文 时间:
2019-01-08 21:57:38
阅读次数:
175
2823: [AHOI2012]信号塔 Description 在野外训练中,为了确保每位参加集训的成员安全,实时的掌握和收集周边环境和队员信息非常重要,集训队采用 的方式是在训练所在地散布N个小型传感器来收集并传递信息,这些传感器只与设在集训地中的信号塔进行通信, 信号塔接收信号的覆盖范围是圆形, ...
分类:
其他好文 时间:
2018-01-21 17:44:10
阅读次数:
169
题意:$n$个点,求最小圆覆盖,$n \leq 5e5$ 这题数据是随机的hhh 我们可以先求出凸包然后对凸包上的点求最小圆覆盖…(不过直接求应该也行?) 反正随便写好像都能过… ...
分类:
其他好文 时间:
2018-01-19 20:23:34
阅读次数:
157
2823: [AHOI2012]信号塔 Description 在野外训练中,为了确保每位参加集训的成员安全,实时的掌握和收集周边环境和队员信息非常重要,集训队采用 的方式是在训练所在地散布N个小型传感器来收集并传递信息,这些传感器只与设在集训地中的信号塔进行通信, 信号塔接收信号的覆盖范围是圆形, ...
分类:
其他好文 时间:
2017-09-05 01:42:04
阅读次数:
192
经典单调队列 1 #include<cstdio> 2 #include<cstring> 3 using namespace std; 4 const int N=1000010; 5 int maxq[N],minq[N],a[N],ans1[N],ans2[N],lmax,lmin,rmax, ...
本来不想学的…于是今天就碰到一道大裸题… 例题:bzoj2823 求最小圆覆盖n个点。 伪代码如下: 把所有点随机化,设为(x[1],y[1])...(x[n],y[n]) 开始把圆心设为x[1],半径设为0 for i=2 to n 如果i号点在当前圆内则跳过 //那么i号点就在圆周上 把1号点和...
分类:
其他好文 时间:
2016-03-19 16:25:31
阅读次数:
230
题解之前:
首先最小圆覆盖虽然有三层 forfor 循环,但是它是期望 O(n)O(n) 的。什么?你问我为啥?那我只能呵呵了,50W的 O(n3)O(n^3) 高速跑过。
后交的是不求凸包直接跑的,先交的是求了凸包再跑的。。并没有什么差距。
题解:
这道题我们可以先写一份求凸包来缩减点的规模,如果点是随机生成的,那么期望有不到100个点在凸包上,然后就可以乱搞了(其实毛用没有23...
分类:
其他好文 时间:
2015-06-23 15:44:15
阅读次数:
98
最小圆覆盖有个东西叫作随机增量法,具体可以baidu这里来说说怎么求三点共圆这其实就是求两条线段的交点在编程中,我们解方程是比较麻烦的一个比较好的方法是利用相似三角形设线段AB,CD交P,则PC:PD=Sabc:Sabd然后用定比分点就可以求的交点坐标了 1 const eps=1e-6; 2 3....
分类:
其他好文 时间:
2015-06-04 22:14:21
阅读次数:
139
题目大意:给定n个点(n
逗我?n
其实数据是随机生成的 经过验证 随机生成50w的点集 平均在凸包上的点在50~60个左右
于是求凸包之后就可以随便乱搞了- - 不会写O(n^3)的最小圆覆盖 写了O(n^4)的照过
注意最小圆覆盖时要讨论有两点在圆上和有三点在圆上两种情况
--------------------以上是题解-----------以下是粗口---------------...
分类:
其他好文 时间:
2014-12-26 18:46:13
阅读次数:
170