随笔分类 -  数学-计算几何

摘要:测试地址:Alien 做法:本题需要用到最小圆覆盖。 我们知道最小圆一定是点集中某三个点的外接圆,因此我们要找到这三个点。 求最小圆覆盖的算法是这样的: 先枚举一个i" role="presentation" style="position: relativ... 阅读全文
posted @ 2018-07-08 17:16 Maxwei_wzj 阅读(161) 评论(0) 推荐(0)
摘要:测试地址:Circles Game 题目大意:给定n" role="presentation" style="position: relative;">nn个圆,圆两两之间只可能有相离或包含两种关系。两个人博弈,每次可以取走一个圆以及被这个圆包含的所有圆,不... 阅读全文
posted @ 2018-07-08 12:15 Maxwei_wzj 阅读(148) 评论(0) 推荐(0)
摘要:测试地址:Triangle 题目大意:求处在一个三顶点都在整点上的三角形严格内部的整点数目。 做法:本题需要用到Pick定理。 Pick定理是一个很有趣的定理,对于任意一个顶点都在整点上的简单多边形,都有: 令S" role="presentation" s... 阅读全文
posted @ 2018-07-06 10:17 Maxwei_wzj 阅读(138) 评论(0) 推荐(0)
摘要:测试地址:糖果雨 做法:本题需要用到数形结合+二维树状数组。 这题看上去非常没有思路,因此我们来一步一步整理一下思路。 首先,我们要发现线段的颜色互不相同,并且移动的速度相等,这就说明它们的运动是周期性的,并且周期都是2len" role="presenta... 阅读全文
posted @ 2018-06-13 11:39 Maxwei_wzj 阅读(214) 评论(0) 推荐(0)
摘要:测试地址:最小矩形覆盖 做法:本题需要用到旋转卡壳。 根据直觉(实际上是我不会证),最小的矩形的一边一定在凸包上,于是我们在凸包上枚举其中的一边,顺便开三个指针求出对踵点,以及在当前边方向上最远的两个点,即可求出矩形挨着的点,这样就可以求出矩形的其它三个点了... 阅读全文
posted @ 2018-06-09 11:45 Maxwei_wzj 阅读(116) 评论(0) 推荐(0)
摘要:测试地址:最大土地面积 做法:本题需要用到旋转卡壳。 不难想到,最优的四个点一定都在凸包上,而一个四边形可以通过一条对角线切割为两个三角形,因此我们枚举对角线,在对角线的端点移动时顺便求出两边最大的三角形面积即可。显然三角形的另一个顶点是单调向同一个方向移动... 阅读全文
posted @ 2018-06-08 17:01 Maxwei_wzj 阅读(80) 评论(0) 推荐(0)
摘要:测试地址:向量集 做法:本题需要用到线段树+凸包+二分。 首先恭喜一下自己达成BZOJ200AC……(突然想起,这不会有多少人看得见) 令询问的向量为(a,b)" role="presentation" style="position: relative;"... 阅读全文
posted @ 2018-05-20 12:28 Maxwei_wzj 阅读(140) 评论(0) 推荐(0)
摘要:测试地址:镜面通道 做法:本题需要用到最小割+计算几何。 首先根据一个神奇的物理学定理:水能通过的地方,光就能通过,所以我们要求的就是AB和CD所属的平面区域连通,继而就是求上边界和下边界不能通过元件连通。因此我们在连通的两个元件之间连边,要求至少要去掉多少... 阅读全文
posted @ 2018-04-23 11:24 Maxwei_wzj 阅读(145) 评论(0) 推荐(0)
摘要:测试地址:Most Distant Point from the Sea 题目大意:给定一个凸多边形,求凸多边形内某点到各边的最小距离的最大值。 做法:本题需要用到半平面交+二分答案。 首先答案显然具有单调性,所以我们二分答案,转化成判定性问题。 考虑答案d... 阅读全文
posted @ 2018-02-27 23:23 Maxwei_wzj 阅读(87) 评论(0) 推荐(0)
摘要:测试地址:Art Gallery 题目大意:给定一个多边形,求多边形内有多大的区域使得站在这些区域中的任何一点都可以看到整个多边形的内部。 做法:本题需要用到半平面交。 要能从一个点看到一条边,该点就必须在这条边连成的直线上靠内的那一侧,并且没有其他边遮挡。... 阅读全文
posted @ 2018-02-26 18:28 Maxwei_wzj 阅读(113) 评论(0) 推荐(0)
摘要:测试地址:水平可见直线 做法:本题需要用到栈+凸壳。 通过观察,我们知道从y轴正方向向下看,轮廓肯定是一个下凸壳,所以我们把所有直线按斜率从小到大排序,每次插入一条直线,可以知道新插入的直线肯定会在当前的凸壳中,那么我们执行下列的过程:若当前栈顶的两条直线交... 阅读全文
posted @ 2017-12-01 20:11 Maxwei_wzj 阅读(106) 评论(0) 推荐(0)
摘要:测试地址:Triangle题目大意:平面上有N(N≤50000)个点,要求选出其中的3个点,使得连成的三角形面积最大,求出这个最大面积。做法:这题需要用到旋转卡壳。首先O(N^3)的枚举肯定是炸的,那么怎么办呢?我们可以先求出凸包,可以证明最大的三角形顶点一定是凸包的... 阅读全文
posted @ 2017-04-30 22:22 Maxwei_wzj 阅读(91) 评论(0) 推荐(0)
摘要:测试地址:Beauty Contest题目大意:平面上有N(N≤50000)个点,输出这些点之间最大的距离的平方。做法:这道题需要用到旋转卡壳。我们很容易想到枚举所有点对,然后求距离最大值,然而这是O(N^2)的,对于这一题是不行的,那么怎么办呢?有一个显而易见的结论... 阅读全文
posted @ 2017-04-30 16:47 Maxwei_wzj 阅读(94) 评论(0) 推荐(0)
摘要:测试地址:The Fortified Forest题目大意:有N(2≤N≤15)棵树,每棵树有一个坐标(xi,yi),价值vi,长度li,要砍掉一些树建成围栏防护其他的树,求一个使砍掉的树的价值之和最小的方案,如果有多个方案满足条件,求砍掉的树最少的,输出这种方案中要... 阅读全文
posted @ 2017-04-03 11:16 Maxwei_wzj 阅读(179) 评论(0) 推荐(0)
摘要:测试地址:Wall题目大意:一个国王有n个城堡(可以看做平面上的点),现在要建一堵封闭的城墙将所有城堡围住,并且使得城墙与每座城堡的最短距离不超过L,求满足条件的最短城墙长度。做法:可以证明,最短城墙长度等于这n个点的凸包周长加上一个半径为L的圆的周长,所以问题就转变... 阅读全文
posted @ 2017-02-18 12:28 Maxwei_wzj 阅读(164) 评论(0) 推荐(0)