计算几何
文章平均质量分 64
空灰冰魂
=NULL
展开
-
【NOIP2002】矩形覆盖 DFS
NOIP2002矩形覆盖,在这个网上还没有几篇题解的时刻,你确定不来看一看这一篇?原创 2014-10-24 08:56:09 · 2422 阅读 · 2 评论 -
【POJ1905】Expanding Rods 二分答案+推公式
题意: 给出L,n,c,通过公式可以得到L’。 然后L是弦长,L’是弧长,从圆心向该弦做垂线,若长为d,求半径-d。题解: 二分答案。 首先弧长通过圆心角和半径是可以计算的,那么我们可以二分答案(r-d)。 然后有(r-mid)^2+(L/2)^2=r*r,通过这个可以O(1)算出r。 这样就可以通过 弧长=(圆心角/360°)*2π原创 2014-11-07 09:50:33 · 1196 阅读 · 0 评论 -
【BZOJ2965】保护古迹 平面图转对偶图,暴力,网络流
题意:自己看去吧。题解:如果不考虑这道题的某些小数据范围,那么正解应该是:首先平面图转对偶图,然后扫描线处理名胜古迹过程中运用到邪恶的平衡树(就算是set也依然恶心)或者用神奇方法Ⅰ判断(cheat)一个名胜古迹在哪些域里面[注: 域]:就是一些线段围起来的一块啦。然后用神奇方法Ⅱ(cheat然后是裸最小割噗。所幸:一、名胜古原创 2015-01-27 19:38:37 · 2072 阅读 · 0 评论 -
【BZOJ2458】【BeiJing2011】最小三角形 计算几何+分治
题解:很经典的分治计算几何模型。我们对点的x坐标排序,然后进行分治,同时分治完了还需要求两边的互相影响。一、在左边取两个点,右边一个。二、在右边取两个点,左边一个。这个时候我们可以对左右两边的点再分别按照y值排序,当然,因为已经出来了一个比较优的ans,所以当一个点距离两边中界过远,那么我们就把它扔掉再不用管了。还有就是两边的点,y坐标距离过大的也不能进行选原创 2015-01-20 07:53:11 · 2144 阅读 · 0 评论 -
【BZOJ1007】【HNOI2008】水平可见直线
题解:呃。把直线随便排下序,然后扫一遍,类似栈一样删掉被覆盖的直线。代码:#include #include #include #include #include #define N 501000#define eps 1e-10#define inf 0x3f3f3f3fusing namespace std;struct Point{ doubl原创 2015-06-18 19:14:16 · 1303 阅读 · 0 评论 -
【BZOJ1043】【HAOI2008】下落的圆盘 计算几何
题解:给每个圆求一下: 1. 它是不是被之后的某圆整体覆盖。 2. 它的圆周上有哪些弧段被覆盖了。 然后对于每个圆求一下还剩多少周长即可。上述的“2.”可以用圆的圆心角区间来表示哪些弧段被覆盖。 然后圆心角大小可以用余弦定理求,位置可以取两圆心连线的角度加减其圆心角的一半。代码:#include #include #include #include #inc原创 2015-06-19 18:12:19 · 1629 阅读 · 0 评论 -
【BZOJ1132】【POI2008】Tro 计算几何 叉积求面积
题解:首先暴力是 O(n3)O(n^3) 求每个三角形面积! 可是三角形面积怎么求?一般我们都是用叉积……等等?那一个叉积不是被算了很多遍?好了,正解出来了,先有序地把点排排序保证不重,然后算一下每个叉积的贡献,也就是每条边的贡献,,然后因为排序啥的,时间复杂度 O(n2logn)O(n^2logn) 。然后这道题。呃,卡精度……?! 求叉积嘛,最后得到的东西都需要除以2,,先不除原创 2015-06-23 14:48:50 · 1976 阅读 · 0 评论 -
【BZOJ3707】圈地 计算几何 旋转坐标系
题解:对于一个点对,如果它的连线的方程的 xx 为定值 ,即为一条竖线,那么我可以把所有点以 xx 为第一键值, yy 为第二键值排序,然后这条线两端的第一个点与这条线段做个三角形,其面积都可能更新答案。。然后我们可以先把所有线按照斜率排个序,然后发现每次按序修改y轴,可以 O(1)O(1) 得到旋转坐标系后的点的序列。 可以观察此图(这是个小特例福利哦): 呃。就是每次旋转到一条原创 2015-06-23 18:17:58 · 2124 阅读 · 0 评论 -
【BZOJ2823】【AHOI2012】信号塔 最小圆覆盖 计算几何
题解之前:首先最小圆覆盖虽然有三层 forfor 循环,但是它是期望 O(n)O(n) 的。什么?你问我为啥?那我只能呵呵了,50W的 O(n3)O(n^3) 高速跑过。 后交的是不求凸包直接跑的,先交的是求了凸包再跑的。。并没有什么差距。题解:这道题我们可以先写一份求凸包来缩减点的规模,如果点是随机生成的,那么期望有不到100个点在凸包上,然后就可以乱搞了(其实毛用没有23原创 2015-06-23 14:04:49 · 2279 阅读 · 0 评论