计算几何
文章平均质量分 96
计算几何类习题总结
Gene_INNOCENT
Wait for the sunrise!
展开
-
JACM23 - A New Algorithm for Euclidean Shortest Paths in the Plane
本文关注的问题为计算几何学中的经典问题,即「在平面上给定一组两两不相交的多边形障碍物,寻找两点之间避开所有障碍物的欧几里得最短路径」,简单理解就是「含多边形障碍物的两点最短路问题」。原创 2024-09-18 13:54:17 · 709 阅读 · 0 评论 -
【BAPC 2017】Hoarse Horses【欧拉平面图公式】
题意给出 nnn 条线段,求平面中一共有多少个闭合区域。保证不存在三条线段相交与一点,并且线段都是规范相交,即不存在相交点在线段端点。(1≤n≤1000)(1\leq n\leq 1000)(1≤n≤1000)题目链接:linklinklink思路此题是一个公式题,因此直接上公式。基本术语平面图:不存在边交叉的二维平面上的图连通平面图:平面图上的图形相互连通,即可以仅依靠图中的边...原创 2020-05-05 19:23:23 · 590 阅读 · 0 评论 -
【2015 NEERC - G 】Garden Gathering【距离计算变形、数学巧妙转换】
题意给出 nnn 个二维坐标点,要求给出两个点的编号满足此两点间距离最远,仅允许走 454545 度斜边与网格边。(2≤n≤2∗105,∣xi∣,∣yi∣≤107)(2\leq n\leq 2*10^5, |x_i|,|y_i|\leq 10^7)(2≤n≤2∗105,∣xi∣,∣yi∣≤107)题目链接:linklinklink思路此题仅允许走斜边与网格边,而非最短路径,因此不同于...原创 2020-04-06 14:13:49 · 251 阅读 · 0 评论 -
掌握用 STL 中的 SET 动态维护 “各类型凸壳” / “凸包”
一、例题引入题意:主人公小智一共会捕捉 nnn 只宝可梦,宝可梦有两个属性,攻击值 AAA,防御值 BBB。每当捕捉到一只新的宝可梦 TTT,小智有两种方法判断这只宝可梦是否是无用的。存在一只宝可梦 XXX,使得 X.A>T.AX.A > T.AX.A>T.A 并且 X.B>T.BX.B > T.BX.B>T.B存在两只宝可梦 X,YX,YX,Y,使得...原创 2020-02-23 22:47:02 · 1636 阅读 · 1 评论 -
【2018徐州ICPC Gym-102012 M】Rikka with Illuminations【计算几何】
题意:给定一个 nnn 个点的凸包,再给出 mmm 个光照点,每个光照点的照射范围为 360360360 度,问最少选取几个光照点可以照亮整个凸包,要求输出方案,保证不会出现一个光照点位于凸包的延长线上,共 200200200 组数据。(1≤n,m≤1000)(1\leq n,m\leq 1000)(1≤n,m≤1000)思路:其实这题思路比较明显,就是先求出每个光照点所能照射到的一段连续...原创 2019-10-03 13:12:01 · 520 阅读 · 0 评论 -
【Gym - 101397D】Acute Triangles【锐角三角形个数】
题意:给出 nnn 个点,先从中任意选取三个点,使得这三个点为一个锐角三角形,问一共有多少个锐角三角形。(3≤n≤2000)(3\leq n\leq 2000)(3≤n≤2000)思路:正难则反,很明显正向思考这题难度非常高,因此考虑逆向思考,即能够构造出的直角和钝角三角形个数。我们枚举一个点,然后按这个点对其它所有点进行极角排序,然后进行双指针枚举,枚举一个刚好变成直角的点,再枚举一个...原创 2019-09-28 18:43:26 · 326 阅读 · 0 评论 -
【Gym-100889 H】Hitting Points【凸包三分】
题意:给出一个 NNN 个点的凸包,QQQ 次询问,每次给出一个 idxidxidx 和 kkk,表示现有一根长度无限的垂直 (P[idx],P[idx+1])(P[idx],P[idx+1])(P[idx],P[idx+1]) 向量且距离 P[idx]P[idx]P[idx] 为 kkk 的垂直线。先问这根垂直线倒落时凸包上第一个被碰到的点,如果第一个被碰到的是直线,则输出两个点。(1≤n≤1...原创 2019-08-26 15:59:34 · 219 阅读 · 0 评论 -
【2017CCPC哈尔滨赛区 HDU 6242】Geometry Problem【随机化】
题意:给出 NNN 个点(二维坐标),需要求出一个点 RRR 和点 PPP(均为实数),使得 NNN 个点中有至少 ceil(N2)ceil(\frac{N}{2})ceil(2N) 个点在以点 PPP 为圆心,半径为 RRR 的圆上。保证有解。(1≤N≤105)(1\leq N\leq 10^5)(1≤N≤105)思路:NNN 非常大,直接求取不可取。于是考虑随机。(计算几何中的经典套...原创 2019-08-10 14:07:59 · 1291 阅读 · 0 评论 -
【15年浙江省赛 C ZOJ 3871】Convex Hull【极角排序】
题意: 给出n个点,n个点共有2^n-1个点集,不包括空集。求每一个点集构成的凸包的面积总和。(n <= 1000)思路: 由于n比较小,可以考虑n^2复杂度的算法。然后可以想到先枚举一个点i,然后再枚举一个点,就可以构成一条边,但是边和凸包有什么关系呢?考虑到求的是凸包面积,凸包的面积是凸包上的点依次叉乘,即凸包的面积,每条边都有其对应的贡献值。因此...原创 2019-03-03 10:04:37 · 1490 阅读 · 0 评论 -
【2011-2012 ACM-ICPC Pacific Northwest Regional Contest C】A Classic Myth【点集最小平行四变形覆盖】
题意: 给出n个点的坐标,求一个面积最小的平行四边形覆盖这n个点,输出平行四边形面积。思路: 类似于求点集的最小矩形覆盖。求矩形时,我们可以得知凸包上至少有一条边与矩形边重合。而对于平行四边形来说,凸包上至少有两条边与最后的平行四边形重合。 由于n只有1000,因此我们可以n^2枚举,求出所有两条边构成的平行四边形。而对于平行四边形面积,我...原创 2019-03-06 08:00:44 · 278 阅读 · 0 评论 -
【HDU 5251】矩形面积【凸包 最小矩形覆盖】
题意: 给定n个点,求一个将所有点覆盖的最小面积的矩形。思路: 首先结果矩形一定有一条边在点集的凸包边上。因此我们枚举每一条边,只要求出其对应的 r(垂直距离最远的点)、p(距离线正向最远的点)、q(距离线负向最远的点),即可求出这个矩形的面积。 首先求r,r点即为(ps[i],ps[i+1]),(ps[i],r)叉积最大的点。然后求p...原创 2019-03-05 16:26:47 · 550 阅读 · 0 评论 -
【POJ 1228】Grandpa's Estate【稳定凸包】
题意: 题目中给出几个点,问这几个点构成的凸包有没有可能是从另一个更大的凸包删了某几个点转换而来的,如果当前凸包可能由另外的凸包转化而来,则输出NO,否则输出YES。思路: 这是一个“稳定凸包”的问题,我们需要考虑什么样的凸包是稳定的。 首先,如果凸包的某一条边上只有两个点的话,即左右端点的话,那么这个凸包一定是不稳定的,因为可以在这直线之...原创 2019-03-01 11:36:33 · 1287 阅读 · 0 评论 -
【POJ 1113】Wall【凸包+一点思维】
题意: 现在有n个点,要求在n个点外面建栅栏,要求每个点到栅栏的距离都大于等于L,问需要的最短栅栏长度。思路: 需要栅栏将n个点包围,第一反应可以想到凸包,然后再在凸包外面加栅栏。由于栅栏距离凸包的距离要大于L,因此我们思考如何加栅栏。 对于凸包的每个顶点,向连接顶点的两条线段建立垂线,长度为L,其余地方连成直线。可以发现最后就是凸包的总长...原创 2019-03-01 10:32:47 · 219 阅读 · 0 评论 -
【POJ 3348】Cows【凸包裸题】
题意: 给出n个点,求一个凸包,然后将凸包面积除以50,下取整就是答案。思路: 直接用安德鲁算法求出凸包 (求出上下凸壳),然后再求多边形面积即可。主要是用来试板子的。代码:#include <cstdio>#include <iostream>#include <cstring>#include...原创 2019-03-01 09:36:07 · 216 阅读 · 0 评论