随笔分类 -  计算几何

摘要:题目大意: 给出多个多边形及其编号 按编号顺序输出每个多边形与其相交的其他多边形编号 注意一个两个多个的不同输出 将每个多边形处理成多条边 然后去判断与其他多边形的边是否相交 计算正方形另外两点的方法https://blog.csdn.net/qq_33328072/article/details/ 阅读全文
posted @ 2018-09-09 07:56 _Jessie 阅读(191) 评论(0) 推荐(0)
摘要:题目大意: 不能向左拐 不能重复走 就是求一个螺旋凸包 把已经是凸包内的点标记一下就行 因为凸包的性质 所有点都能走到 注意起点的选择 还有 反复求凸包的过程中边界的改变 #include <cstdio> #include <algorithm> #include <string.h> #incl 阅读全文
posted @ 2018-09-09 07:38 _Jessie 阅读(156) 评论(0) 推荐(0)
摘要:题目大意: t个测试用例 每次给出一对直线的两点 判断直线的相对关系 平行输出NODE 重合输出LINE 相交输出POINT和交点坐标 1.直线平行 两向量叉积为0 2.求两直线ab与cd交点 设直线ab上点为 a+(b-a)t,t为变量 交点需满足在直线cd上 则(d-c)*(a+t(b-a)-c 阅读全文
posted @ 2018-09-09 07:27 _Jessie 阅读(381) 评论(0) 推荐(0)
摘要:题目大意: 给定n条线段的端点 依次放上n条线段 判断最后在最上面(不被覆盖)的线段有哪些 到当前线段后 直接与之前保存的未被覆盖的线段判断是否相交就可以了 #include <cstdio> #include <algorithm> #include <string.h> #include <se 阅读全文
posted @ 2018-09-08 11:08 _Jessie 阅读(149) 评论(0) 推荐(0)
摘要:题目大意: 求最远点对距离 求凸包上的最远点对 挑战263页 #include <cstdio> #include <string.h> #include <algorithm> #include <vector> #include <cmath> using namespace std; cons 阅读全文
posted @ 2018-09-08 09:01 _Jessie 阅读(145) 评论(0) 推荐(0)
摘要:题目大意: 给定n条线段 接下来n行是端点信息 接下来询问 a b 是否相交 若a与c相交 b与c相交 ,那么a与b就是相交的 先判断任两条线段是否相交 再用folyd #include <cstdio> #include <cmath> #include <algorithm> #include 阅读全文
posted @ 2018-09-08 08:29 _Jessie 阅读(310) 评论(0) 推荐(0)
摘要:题目大意: poj2318改个输出 输出 a: b 即有a个玩具的格子有b个 可以先看下poj2318的报告 用map就很方便 #include <cstdio> #include <cmath> #include <string.h> #include <algorithm> #include < 阅读全文
posted @ 2018-09-08 08:22 _Jessie 阅读(182) 评论(0) 推荐(0)
摘要:题目大意: 平面上有n个两两不相交的圆,给定圆的圆心(x,y)和半径 r 求所有最外层的 即 不包含于其他圆内部的圆 挑战258页 平面扫描 记录所有圆的左端和右端 排序后 逐一扫描 将到当前圆为止的最外层的圆存入数组 当遇到一个圆的左端 判断 这个圆 是否被 离它最近的上下的两个已存入的最外层的圆 阅读全文
posted @ 2018-09-08 08:17 _Jessie 阅读(665) 评论(0) 推荐(0)
摘要:题目大意: n块玩具箱隔板 m个玩具落地点 给定玩具箱的左上和右下两个端点 接下来给定n块隔板的上点的x和下点的x(因为y就是玩具箱的上下边缘) 接下来给定m个玩具落地点 输出n+1个区域各有的玩具数量 只要判断一下玩具落地点对于n条直线的相对位置即可 当它位于某条直线的左侧时 说明它位于当前直线内 阅读全文
posted @ 2018-09-08 08:16 _Jessie 阅读(735) 评论(0) 推荐(0)
摘要:题目大意: 询问给定n条线段 是否存在一条直线使得所有线段在直线上的投影存在公共点 这个问题可以转化为 是否存在一条直线与所有的线段同时相交 而枚举直线的问题 因为若存在符合要求的直线 那么必存在穿过某线段的端点的直线是符合要求的直线 那么只要枚举两个端点连成一线 #include <cstdio> 阅读全文
posted @ 2018-09-08 08:15 _Jessie 阅读(578) 评论(0) 推荐(0)