![](https://img-blog.csdnimg.cn/20190927151124774.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
《计算几何学习笔记》
文章平均质量分 75
主要是记录牛客的计算几何笔记以及一些大佬的博客学习笔记。
cqust_qilin02811
Python-QT,Android
展开
-
计算几何学习笔记一(二维基础)
文章目录二维基础1. 点的表示2. 向量2.1 向量相关2.2 例题3. 线段3.1 例题例题1例题24. 直线4.1 例题例题一例题二 二维基础 主要是牛客计算几何课程的笔记。 1. 点的表示 using Point = pair<double,double> //横坐标: .first //纵坐标: .second 题目不复杂时可用 //更推荐的写法 struct Point{double x,y;}; 横纵坐标 .x .y 2. 向量 2.1 向量相关 using Vector =原创 2022-05-08 20:10:19 · 324 阅读 · 0 评论 -
(二)计算几何基础之凸包与半平面交
凸包 形象解释:有很多头奶牛在田野上,现在希望你用一条绳子将这些奶牛给围起来,这样所形成的多边形称为凸包。 Andrew算法求凸包步骤: 将给出的所有点排序。(横坐标为第一关键字,纵坐标为第二关键字) 将整个凸包分成两个部分来求(上半部分和下半部分),先从左至右做上半部分,再从右至左做下半部分。(用栈来维护) 上凸包看左侧点,下凸包看右侧点。 最后用栈底更新一遍。(边界点) 时间复杂度:O(nlogn) code: #include<bits/stdc++.h> using namesp原创 2021-09-28 20:21:53 · 268 阅读 · 0 评论 -
(一)计算几何基础(下)
原题链接 例题一 其实就是求两个线段之间的距离,(要注意相交的时候距离为0,不相交的时候要分情况讨论) 另外,在做题时不要盲目抄模板,有可能模板不适用于这道题,要因题而异,自己思考:(详情见代码注释) AC code: #include<bits/stdc++.h> using namespace std; const double eps = 1e-10; struct Point { double x,y; Point (double x = 0,double y = 0原创 2021-09-27 17:12:29 · 143 阅读 · 0 评论 -
(一)计算几何基础(上)
计算几何基础知识点 点的结构体以及操作符重载和预定义: struct Point { double x, y; Point(double x = 0, double y = 0) : x(x), y(y) { } }; typedef Point Vector; Vector operator + (Vector A, Vector B) {return Vector(A.x + B.x, A.y + B.y);} Vector operator - (Poi原创 2021-09-26 11:34:00 · 248 阅读 · 0 评论