
凸包
文章平均质量分 92
zxyoi_dreamer
退役了退役了爬了爬了,搞个锤子算法竞赛,不如好好享受大学生活。
展开
-
【LOJ3248】「USACO 2020.1 Platinum」Falling Portals(凸包)(倍增)
传送门题解:把每个点的 S−TS-TS−T 的图像画出来 fi(x)=−ix+Aif_i(x)=-ix+A_ifi(x)=−ix+Ai。很明显要问的就是允许走交点的情况下 iii 到达第 QiQ_iQi 的位置的最小横坐标是多少。考虑 A[Qi]A[Q_i]A[Qi] 和 A[i]A[i]A[i] 的大小关系,它们决定在 x=0x=0x=0 的时候那条线在上面,于是我们的策略也就决...原创 2020-04-21 15:21:37 · 639 阅读 · 0 评论 -
【校内模拟】帐篷(凸包DP)
简要题意:有一些要被围起来的点,有一些木桩,请你以这些木桩为顶点构造一个凸多边形,使得要求的点全部在其内部,同时在原点处有一个最高点,请你最小化以你选择的凸多边形为底面的椎体的侧面积。凸包DP SB题一道。考场上没看到凸多边形的限制去想凹的情况了。代码:#include<bits/stdc++.h>#define ll long long#define re regi...原创 2020-02-21 21:45:40 · 293 阅读 · 0 评论 -
【校内模拟】多边形(凸包DP)(极角序扫描线)(前缀和优化DP)
简要题意:给平面一个点集,对内空凸多边形计数。保证没有三点共线。n≤500n\leq 500n≤500题解:模板题难度的凸包DP?(大概)然而这是我第一次写凸包DP,以前都是靠口胡。按照 xxx 为第一关键字,yyy 为第二关键字进行坐标排序,枚举多边形左下角的点。设 f[o][i][j]f[o][i][j]f[o][i][j] 表示起始点标号为 ooo 按照极角序考虑的最后一条...原创 2020-02-17 22:47:47 · 510 阅读 · 0 评论 -
【ZJOI2018】保镖(Voronoi图)(Delaunay三角剖分)(圆的反演)(三维凸包)(欧拉定理)
高阶计算几何知识+码农实现 O(n^2)不会单log 三维凸包或 单log 最远点Voronoi图,不然可以做到一个 log如果你会以上两种算法,请联系博主,万分感谢原创 2020-01-19 11:59:31 · 869 阅读 · 0 评论 -
【HDU4273】Rescue(三维凸包)
传送门全部都是常规操作,求一个三维凸包之后算一下重心然后求到每个面的距离就行了。代码:#include<bits/stdc++.h>#define ll long long#define re register#define db double#define cs constusing std::cerr;using std::cout;cs db eps=...原创 2019-12-28 10:32:38 · 181 阅读 · 0 评论 -
【HDU4266】The Worm in the Apple(三维凸包)
传送门题解:直接建三维凸包,算点到平面的距离直接用六面体体积去除三角形面积就行了。代码:#include<bits/stdc++.h>#define ll long long#define re register#define db double#define cs constusing std::cerr;using std::cout;cs db ep...原创 2019-12-28 09:47:53 · 190 阅读 · 0 评论 -
【HDU3662】3D Convex Hull(三维凸包)
传送门题解:三维凸包板子题,所有面全部用三角形来记录,最后判断的时候去一下重就行了。代码:#include<bits/stdc++.h>#define ll long long#define re register#define db double#define cs constusing std::cerr;using std::cout;cs int ...原创 2019-12-26 11:56:00 · 348 阅读 · 0 评论 -
【模板】三维凸包
传送门题解:好像打不打乱期望复杂度都一样。考虑暴力增量,每次新加一个点,删掉所有站在这个点能“看到”的面,然后把空的地方连到这里就行了。记录一下每条边两个方向的面有没有被看到可以方便地实现。代码:#include<bits/stdc++.h>#define ll long long#define re register#define db double#defin...原创 2019-12-25 16:44:41 · 185 阅读 · 0 评论 -
【SDOI2014】向量集(线段树)(凸壳二分)
传送门题解:其实这个写法二进制分组和ZKW线段树差别已经不大了。。。直接建线段树,暴力insert,当一个区间满了的时候建立凸包即可,分上下两个凸壳来建。询问直接在凸壳上二分即可。代码:#include<bits/stdc++.h>#define ll long long#define re register#define cs constnamespace ...原创 2019-09-29 21:03:24 · 184 阅读 · 0 评论 -
【NOI2019】【LOJ3156】【洛谷P5468】回家路线(斜率优化)
LOJ传送门洛谷传送门题解:很显然的斜率优化,每个点维护一下下凸壳,斜率是单调的可以O(m)O(m)O(m)总时间维护转移。不想写题解了,这道题被暴力艹爆了(虽然最快的还是正解)。放一个凸包上二分的代码代码:#include<bits/stdc++.h>#define ll long long#define re register#define gc get_c...原创 2019-07-16 21:46:47 · 276 阅读 · 1 评论 -
【洛谷P5114】八月脸(Minkowski和)(边分治)
传送门解析:先就本题聊两句:本题出题人shadowice1984退役了,对,就是sjzez那位大毒瘤shadowice1984,每次打他id我都要抱怨这名字怎么这么长的的那位shadowice1984,就是那个常年活跃在洛谷各大毒瘤题题解区和讨论区的那个shadowice1984。TA退役了。也正是看了他的退役记后我才决定要把这道我本来想着永远咕掉的毒瘤题写出来,并卡到洛谷rank1(也做...原创 2019-06-13 15:51:58 · 464 阅读 · 0 评论 -
2019.03.27【SCOI2016】【洛谷P3291】【BZOJ4570】【LOJ2015】妖怪(凸包)(三分?)
洛谷传送门BZOJ传送门LOJ传送门解析:首先观察到每个精灵的战斗力就是atk+dfn+baatk+abdfnatk+dfn+\frac{b}aatk+\frac{a}bdfnatk+dfn+abatk+badfn。由均值不等式:baatk+abdfn≥2atk⋅dfn\frac{b}aatk+\frac{a}bdfn\geq 2\sqrt{atk\cdot dfn}abatk+...原创 2019-03-27 10:21:18 · 255 阅读 · 0 评论 -
2018.09.30【POJ3348】Cows(凸包)(三角剖分)
传送门解析:读优没有写负数又被卡了半个小时。。。这里采用JarrisJarrisJarris步进法求凸包。。主要讲一讲怎么求多边形面积。思路:满足题意的显然是这些点的凸包,而我们要做的就是求出凸包面积。那么怎么求多边形面积?考虑三角剖分,我们将多边形由一个顶点发射出的所有对角线将该多边形剖分成若干个三角形。我们求每一个三角形的面积就是求多边形面积了。好的问题就变成了怎么求三角形的...原创 2018-09-30 21:47:00 · 177 阅读 · 0 评论 -
2018.09.27【Codeforces1045F】Shady Lady(凸包)
传送门解析:在DZYO的带领下做了这道题,期间一直被dissdissdiss,最后几乎是照着代码抄了一遍才过。。。这道题不知道有没有人看完题去打个了FFTFFTFFT,反正我不会FFTFFTFFT。思路:这道题真的难以想象是凸包。我们先回到原问题,大意就是给你一个nnn项式,每项都有两个变量x,yx,yx,y,给出的数据表示这一项x,yx,yx,y各自的次数。一个叫BornaBor...原创 2018-09-27 15:53:37 · 276 阅读 · 0 评论 -
2018.10.18【洛谷P3829】【SHOI2012】信用卡凸包(凸包)
传送门解析:开始以为要把圆弧拆成几个小的点,后来看见数据范围就放弃了。。。然后又考虑以八边形记录每个信用卡。又因为奇奇怪怪的精度问题跪了。。。思路:首先发现一个性质:在最后曲边形凸包中,圆弧的弧度和总是2π2\pi2π。简单证明一下:可以发现,凸包上所有角肯定是由圆弧构成的,那么考虑将凸包的边两两延长相交,补全这个凸多边形。然后发现,每个角的圆弧的圆心向两边作垂线,由于本身是凸包...原创 2018-10-18 08:50:55 · 316 阅读 · 0 评论 -
2018.10.18【POJ1912】A highway and the seven dwarfs(凸包)(旋转卡壳)
传送门解析:我看大家这道题都是写的凸包二分找斜率啊。我就来一发旋转卡壳的题解吧。思路:首先,怎么判断一条直线是否穿过这个点集?显然若它将这个点集分为两份,则它必然把这个点集的凸包分为两份,所以为了简化问题,我们先对点集作一个凸包。之后怎么判断该直线是否穿过这个凸包?我们找两条斜率与这条直线相等的线,卡住凸包,然后判断者两条直线是否在原直线的同一侧。如果在原直线同一侧,则凸包整体在...原创 2018-10-18 14:22:56 · 245 阅读 · 0 评论 -
2018.10.18【SCOI2007】【BZOJ1069】【洛谷P4166】最大土地面积(凸包)(旋转卡壳)
BZOJ传送门洛谷传送门解析:首先,最大的土地面积选出来的四个点一定在凸包上。如果不在,总是可以将一个点移动到凸包上使得面积更大,就不详细证明了。于是先求凸包,简化问题,最朴素的做法就是枚举凸包上的四个点。那么,我们得到了一个O(n4)O(n^4)O(n4)的优秀 做法。考虑是不是其中每一个都必须要求出来?显然不是,我们把所求的四边形转化一下变成三角形,枚举对角线分割,那么问题就...原创 2018-10-18 15:44:00 · 214 阅读 · 0 评论 -
2018.10.18【CodeForcesGYM】【ECNA2017】B-Craters(圆的凸包)
传送门解析 (瞎扯) :怎么在圆上面做凸包?真是一个蛋疼的问题。。。思路:拿到这个题目的我开始是懵逼的。。。然而神奇的我居然一发过了样例。。。其实这道题真的是说起来容易写起来扯淡。首先我们先确定哪些圆保留下来做凸包。内含的去掉中间,重合的保留一个。总之仗着数据范围不大随便乱搞一波,去掉浪费时间的圆。然后随手画一个凸包会发现,与圆的交点都在圆与其他圆的公切线上。所以仗着数据...原创 2018-10-18 22:48:53 · 397 阅读 · 0 评论 -
【模板】Graham凸包扫描法
参考题目:洛谷P2742解析:板子就是我这个博客上万年不填的坑啊。更新JarrisJarrisJarris步进法。代码:#include&amp;amp;lt;bits/stdc++.h&amp;amp;gt;using namespace std;#define ll long long#define re register#define gc getchar#define pc putchar...原创 2018-09-30 19:50:49 · 233 阅读 · 1 评论 -
2019.02.22【JSOI2018】【BZOJ5317】【洛谷P4557】战争(凸包)(Minkowski Sum的凸包)
洛谷传送门BZOJ传送门解析;首先可以很显然的发现,一个部落能够控制的点就是它的点集形成的凸包中的点。先求两个凸包A,BA,BA,B。首先将问题转化成数学语言:给出一个向量v⃗=(dx,dy)\vec{v}=(dx,dy)v=(dx,dy),询问是否∃b∈B,b+v⃗∈A\exist b\in B,b+\vec{v}\in A∃b∈B,b+v∈A进行一点小转化:a=b+v⃗a−b=...原创 2019-02-22 14:37:12 · 219 阅读 · 0 评论 -
2019.02.22【CodeForces70】D.Professor's task(动态凸包)
传送门解析:目前我能找到的最早的动态凸包题目。初始给出三个点,要求在O(logn)O(\log n)O(logn)的时间内支持以下操作:1.插入一个点并维护当前点集的凸包2.询问某一个点是否在当前凸包内。(当然也可能是询问某些更加复杂的操作,如周长,面积等,不过这个是动态凸包的基础操作,而其他的只是凸包基础操作)。可以分两种方法考虑维护:极角序和水平序。1.极角序极角序略微有...原创 2019-02-22 15:23:58 · 259 阅读 · 0 评论 -
2019.02.22【HAOI2011】【BZOJ2300】【洛谷P2521】防线修建(动态凸包)
DarkBZOJ传送门洛谷传送门解析:动态凸包裸题,由于只需要维护一个上凸壳,所以用map水平序维护会比较方便。细节有点多,慢慢调吧。动态凸包板子可以看这里:https://blog.youkuaiyun.com/zxyoi_dreamer/article/details/87879301代码:#include<bits/stdc++.h>using namespace std...原创 2019-02-22 15:24:32 · 208 阅读 · 0 评论 -
【模板】Jarris步进法求凸包
参考题目:洛谷P2742解析:板子就是我这个博客上万年不填的坑啊。GrahamGrahamGraham扫描法。代码:#include&amp;lt;bits/stdc++.h&amp;gt;using namespace std;#define ll long long#define re register#define gc getchar#define pc putchar#defi...原创 2018-09-30 20:30:36 · 361 阅读 · 0 评论