
-----计算几何-----
stargazer.
夜を穿つの
展开
-
【BZOJ1043】【HAOI2008】—下落的圆盘(圆的并集)
传送门 题意:给n(n≤2000)n(n\le 2000)n(n≤2000)个圆,上面的会盖住下面的圆,求周长的并 考虑到nnn很小,我们可以O(n2)O(n^2)O(n2)枚举每两个圆判一下覆盖了多少 然后对于一个圆把被覆盖的取个并集就可以了 #include<bits/stdc++.h> using namespace std; inline int read(){ char c...原创 2019-02-21 21:44:29 · 225 阅读 · 0 评论 -
【BZOJ282】【洛谷P3829 】【SHOI2012】—信用卡凸包(凸包)
传送门 可以发现答案就是所有信用卡四个角的圆心做出来的凸包加上一个整的圆的周长 证明? 由于直线的斜率不会变,所以只有可能在圆的边上绕的时候改变 把所有圆围起来就是一个整圆了 剩下的在边上和圆心无所谓(思考) 然后凸包就完了 关于向量旋转角度的变换随便找一篇blogblogblog或者手推一下就出来了 #include<bits/stdc++.h> using namespace st...原创 2019-02-16 20:47:33 · 198 阅读 · 0 评论 -
【BZOJ4614】【WF2016】—Oil(模拟)
传送门 思路很简单 枚举端点极角排序后扫一遍就完了 但是细节有点多 首先有竖着的情况,斜率会炸 还要考虑上下两边的情况 一种巧妙的方法是把斜率取倒数,即变成x/yx/yx/y 我们会发现这样从小到大排序做就解决所有问题了 还有端点挨在一起也算,所以可以把所有出的地方加一个epsepseps #include<bits/stdc++.h> using namespace std; #de...原创 2019-08-01 21:30:38 · 271 阅读 · 0 评论