摘要: 题意是给你一块在原点半径为10的圆,然后告诉你一条直线在圆弧上的极角,相当于用这条直线把这个圆分成两半,然后一共是n条直线切圆,就好比切蛋糕,问你其中最大一块的面积是多少。 如果我们将圆弧转化成直线边,那么这个题就变成PSLG裸题,但是这里是圆弧,所以我们需要将其转化。 我先将所有在圆上的点记录下来 阅读全文
posted @ 2019-10-04 15:50 DD_BOND 阅读(291) 评论(0) 推荐(1) 编辑
摘要: 题目意思是求起点s到终点s的最短路,但是只能在圆的内部和边上走。一种可以想到的方法就是求出所有的交点,然后两两连边并验证合法性,但是这样的交点数规模有n2。 我们可以观察发现,我们在圆求并构成的图形中,在其内部的点是不可能成为最短路上的点,只可能是沿着边上的点擦着经过,所以我们需要把在圆内部的所有点 阅读全文
posted @ 2019-10-04 15:33 DD_BOND 阅读(216) 评论(0) 推荐(0) 编辑
摘要: 首先肯定是构造一个完整的凸包包括所有的点,那么要使得刚好有两个点在外面,满足这个条件的只有三种情况。 1.两个在凸包上但是不连续的两个点。 2.两个在凸包上但是连续的两个点。 3.一个在凸包上,还有一个在这个点去掉后这段新凸包边上的一个点。 如何快速的截取新凸包的点是谁呢,我们可以将整个凸包划分区域 阅读全文
posted @ 2019-10-04 15:18 DD_BOND 阅读(308) 评论(0) 推荐(0) 编辑
摘要: 首先最容易想到的就是N2暴力枚举所有线段去找最小值,但是这样会做了许多无用功。我们可以先对线段排序,使得线段最左侧的端点按照x轴y轴排序,然后我们可以限定在这个线段的矩形框内的所有线段才有可能产生最小值,每次查询对于第i条线段的最近距离,如果第j条线段的最左侧点的x与第i条线段的最右侧点的x差值大于 阅读全文
posted @ 2019-08-21 22:54 DD_BOND 阅读(571) 评论(0) 推荐(0) 编辑
摘要: 首先可以证明,点积最值的点对都是都是在凸包上,套用题解的证明:假设里两个点都不在凸包上, 考虑把一个点换成凸包上的点(不动的那个点), 不管你是要点积最大还是最小, 你都可以把那个不动的点跟原点拉一条直线, 然后把所有的点投影到这条直线上, 要找的无非就是这条直线最前面或者最后面的两个点.这两个点不 阅读全文
posted @ 2019-08-13 16:41 DD_BOND 阅读(499) 评论(0) 推荐(1) 编辑
摘要: 首先对于这m个点维护出一个凸包M,那么问题就变成了判断凸包P进行放大缩小能不能包含凸包M。(凸包P可以进行中心对称变换再进行放大缩小,见题意) 如何判断合适的相似比呢,我们可以用二分去放大缩小凸包P的坐标,得到最小的相似比。 接下来就是如何判断是否包含。我们需要对凸包P上的每一条向量,在凸包M上找到 阅读全文
posted @ 2019-08-06 12:51 DD_BOND 阅读(367) 评论(0) 推荐(0) 编辑
摘要: 首先能想到的是至少有一对相邻点或者中间间隔一个点的点对满足轴对称,那么接下来只需要枚举剩下的点对是否满足至多移动一个点可以满足要求。 第一种情况,对于所有点对都满足要求,那么Yes。 第二种情况,有一个点不满足要求,那么显然这种情况只可能是奇数点的时候才出现,那么只需要将这个点移到对称轴上则满足要求 阅读全文
posted @ 2019-08-06 12:22 DD_BOND 阅读(299) 评论(0) 推荐(0) 编辑
摘要: 由于题目要求,首先维护出一个凸包,然后在凸包上寻找点对关系,用rel[i][j]表示i点和j点之间是否可以连线,又由于维护出来的凸包上的点的个数不多,可以直接枚举点对并枚举所有圆,判断两点直线和圆是否相离,由于维护出来的凸包已经按照逆时针排序,又要满足两两线段不相交,最后就变成了求最大不相交线段个数 阅读全文
posted @ 2019-07-29 20:40 DD_BOND 阅读(378) 评论(0) 推荐(0) 编辑
摘要: 这道题简直太好了,对于计算几何选手需要掌握的一个方法。 首先对于求解四边形面积,我们可以将四边形按对角线划分成两个三角形,显然此时四边形的面积最大最小值就变成了求解里这个对角线最近最远的点对。 对于此类问题有一个技巧,首先我们将点按照x为第一关键词y为第二关键词从小到大排序,然后我们开始取向量,并将 阅读全文
posted @ 2019-05-25 21:47 DD_BOND 阅读(1132) 评论(2) 推荐(1) 编辑
摘要: 这道题其实只要解决了什么时候输出 -1 ,那么此题的构造方法也就解决了。首先我们可以观察这组 3 3 4 和 3 4 4 ,可以算出第二组是不成立的,在观察一组 2 3 4 5 和 3 2 4 5 ,第二组也是不成立的。我们将 i 和 a[ i ] 视为区间两端点,可以发现只有在任意一对区间不在端点 阅读全文
posted @ 2019-05-14 00:02 DD_BOND 阅读(582) 评论(0) 推荐(1) 编辑