计算几何——线段相交判定
倚剑笑紅尘
教练,我想学kaldi!
展开
-
ZOJ 1648 Circuit Board(线段相交判定 刘汝佳模板)
链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=1648题意: 给你二维平面的n个线段的端点坐标,问你这n条线段中是否存在任何两条线段相交?(就算两线段有交点,该交点也不可能出现在任何线段的端点处,即规范相交)分析: 题意已经很明确了,要我们判断是否有线段存在规范相交的情况.原创 2017-09-07 20:59:15 · 248 阅读 · 0 评论 -
POJ 1269 Intersecting Lines(两直线间关系判定)
POJ 1269 Intersecting Lines(两直线间关系判定)http://poj.org/problem?id=1269题意: (ZOJ1280) 给你两条直线(给出4个端点),问你这两条直线之间的关系: 交于一点, 交于直线(即重合), 不相交(平行). 如果交于一点,输出该点的坐标.分析: 首先假设两直线分别为P+v*t 和Q+w*原创 2017-09-07 22:00:38 · 182 阅读 · 0 评论 -
POJ 2653 Pick-up sticks(线段规范相交)
POJ 2653 Pick-up sticks(线段规范相交)http://poj.org/problem?id=2653题意: 有n根厚度忽略不计的木棍平行的往地板按顺序扔,扔完之后给你每根木棍在地板这个二维平面的端点坐标,要你输出那些木棍是在最上面的(即没有任何一根木棍压着它).用例的图,木棍2压着木棍1了.分析: 本题直接暴力解决即可.由于原创 2017-09-07 23:12:57 · 223 阅读 · 0 评论 -
HDU 1086 You can Solve a Geometry Problem too(判定线段相交 规范相交和非规范相交)
HDU 1086 You can Solve a Geometry Problem too(判定线段相交)http://acm.hdu.edu.cn/showproblem.php?pid=1086题意: 给你n条线段,要你输出这些线段一共有多少交点? 如果多线共点,那么就该点算多次.分析: 直接枚举两两线段,如果它们相交,就交点数+1即可.下面说说如何原创 2017-09-08 00:16:30 · 404 阅读 · 0 评论 -
【转】计算几何题目推荐
其实也谈不上推荐,只是自己做过的题目而已,甚至有的题目尚未AC,让在挣扎中。之所以推荐计算几何题,是因为,本人感觉ACM各种算法中计算几何算是比较实际的算法,在很多领域有着重要的用途计算几何题的特点与做题要领:1.大部分不会很难,少部分题目思路很巧妙2.做计算几何题目,模板很重要,模板必须高度可靠。3.要注意代码的组织,因为计算几何的题目很容易上两百行代码,里面大部分是模板。如果代原创 2017-09-15 18:59:20 · 260 阅读 · 0 评论 -
HDU 3952 Fruit Ninja(线段与直线相交枚举)
题目链接:点击打开链接题意:平面上给你n个凸多边形,然后问你如果画一条直线,最多能穿过多少个凸多边形. 就算相交于一点也算.分析: 结论:假设有一条直线穿过了最多个数的多边形,那么我们一定可以通过先平移该直线,使得该直线在保持穿过多边形个数最多的前提下,只与其中一个多边形交于1点(与其他多边形的相交情况不管). 然后再旋转,使得该直线与另一个多边形也只交于一点.原创 2017-09-08 16:17:54 · 239 阅读 · 0 评论 -
POJ 1127 Jack Straws(线段相交判断+并查集)
POJ 1127 Jack Straws(线段相交判断+并查集)http://poj.org/problem?id=1127题意: 给你n条线段,然后你需要回答接下来的数个询问:第i条线段和第j条线段是否相交? (i与j通过别的线段间接相交也算他们两相交,且i线段与j线段交于端点也算相交)分析: 首先把每条线段作为一个并查集,然后枚举两两线段,如果i和j原创 2017-09-08 16:50:51 · 273 阅读 · 0 评论 -
HDU 1221 Rectangle and Circle(判定圆与矩形是否相交)
HDU 1221 Rectangle and Circle(判定圆与矩形是否相交)http://acm.hdu.edu.cn/showproblem.php?pid=1221题意: 给你一个圆和一个矩形,要你判断它们是否相交?(就算只有一个公共点也算相交)分析: 我们只要求出圆心到矩形的最短距离L和圆心到矩形的最长距离R. 如果L>r(r为圆半径),原创 2017-09-08 17:37:04 · 386 阅读 · 0 评论 -
UVA 10256 The Great Divide(凸包应用 即凸包+线段相交判定+点是否在凸包内判断)
UVA 10256 The Great Divide(凸包应用)https://vjudge.net/problem/UVA-10256题意: 有n个红点和m个蓝点,问你是否存在一条直线,使得任取任取一个红点和一个蓝点,都在直线的两边?这条直线不能穿过红点或蓝点.分析: 先求出红点的凸包和蓝点的凸包,则分离两个点集的充要条件是分离两个凸包.原创 2017-09-12 00:29:45 · 334 阅读 · 0 评论