
------------计算几何--------------
Lynstery
一只蒟蒻
展开
-
[半平面交] BZOJ1007: [HNOI2008]水平可见直线
题意在xoy直角坐标平面上有n条直线L1,L2,…Ln,若在(0,+oo)处往下看,能见到Li的某个子线段(只有点不算),则称Li为可见的,否则Li为被覆盖的. 给出n条直线,表示成y=Ax+B的形式(|A|,|B|<=500000),且n条直线两两不重合.求出所有可见的直线.题解好像是半平面交的简化版,只有一侧有边界。 这题不知道半平面交也完全没关系,自己乱搞也可以。下面讲一下我的思路: 和原创 2017-02-20 20:21:15 · 593 阅读 · 0 评论 -
凸包之Andrew算法——模板整理
是Graham的变种。水平扫描,分别构造上下凸壳,然后把两者接起来。 感觉比Graham好用。 复杂度O(nlog2nnlog_2n) (排序)#include<cmath>#include<cstdio>#include<algorithm>using namespace std;const int maxn=1100;const double eps=1e-9;int dcmp(原创 2017-02-22 19:46:28 · 732 阅读 · 0 评论 -
[半平面交] BZOJ1038: [ZJOI2008]瞭望塔
题意致力于建设全国示范和谐小村庄的H村村长dadzhi,决定在村中建立一个瞭望塔。 我们将H村抽象为一维的轮廓。 我们可以用一条山的上方轮廓折线(x1, y1), (x2, y2), …. (xn, yn)来描述,x1 < x2 < …< xn。 瞭望塔可以建造在[x1, xn]间的任意位置, 但必须满足从瞭望塔的顶端可以看到H村的任意位置。 请你写一个程序,帮助dadzhi村长计算塔的最小原创 2017-05-05 16:41:20 · 607 阅读 · 0 评论 -
[凸包] BZOJ1069: [SCOI2007]最大土地面积
题意在某块平面土地上有N个点,你可以选择其中的任意四个点,将这片土地围起来,当然,你希望这四个点围成的多边形面积最大。 n<=2000题解容易想到凸包。 最优的四边形的端点是落在凸包上的,然后n2n^2枚举对角线。在对角线两侧类似旋转卡壳,利用单调性推得最大三角形。这样就是O(n2)O(n^2)的。 凸包是三角形?不知道啊反正没管就过了……之后才在discuss上看到,可能选凸包上3点,枚举第原创 2017-06-29 20:09:59 · 686 阅读 · 2 评论 -
[二进制分组 + 凸包] BZOJ4140: 共点圆加强版
对于给出的一个圆心 (xi,yi)(xi,yi)(x_i,y_i) ,在它内部点 (x,y)(x,y)(x,y) 需满足 (x−xi)2+(y−yi)2≤x2i+y2i⇔x2+y2≤2xxi+2yyi⇔yi≥−xyxi+x2+y22y(x−xi)2+(y−yi)2≤xi2+yi2⇔x2+y2≤2xxi+2yyi⇔yi≥−xyxi+x2+y22y(x-x_i)^2+(y-y_i)^2 \le x...原创 2018-02-11 23:47:36 · 459 阅读 · 0 评论