《计算几何学习笔记》
文章平均质量分 75
主要是记录牛客的计算几何笔记以及一些大佬的博客学习笔记。
cqust_qilin02811
初级开发者:Python-QT,Android应用端
想学db的菜狗
展开
-
计算几何学习笔记一(二维基础)
文章目录二维基础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 .y2. 向量2.1 向量相关using Vector =原创 2022-05-08 20:10:19 · 314 阅读 · 0 评论 -
(二)计算几何基础之凸包与半平面交
凸包形象解释:有很多头奶牛在田野上,现在希望你用一条绳子将这些奶牛给围起来,这样所形成的多边形称为凸包。Andrew算法求凸包步骤:将给出的所有点排序。(横坐标为第一关键字,纵坐标为第二关键字)将整个凸包分成两个部分来求(上半部分和下半部分),先从左至右做上半部分,再从右至左做下半部分。(用栈来维护)上凸包看左侧点,下凸包看右侧点。最后用栈底更新一遍。(边界点)时间复杂度:O(nlogn)code:#include<bits/stdc++.h>using namesp原创 2021-09-28 20:21:53 · 258 阅读 · 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 · 125 阅读 · 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 · 230 阅读 · 0 评论