从点、向量与位置关系出发,先掌握距离计算和几何判定,再学习凸包、扫描线、旋转卡壳与半平面交;用最近点对、最小圆覆盖练习分治与随机增量。实现时先明确整数范围、浮点误差以及共线、重合等退化情形。
基础部分建立二维与三维表示;格点、多边形与点集问题分别串起 Pick 定理、三角剖分和包围结构,最后拓展到反演变换与杂项技巧。
实验 Task 2:推导平面最近点对的分治与条带合并,说明 O(n log n) 复杂度,并给出平方距离、64 位边界及重合点处理的 C++17 实现。
目录与参考:OI Wiki。原站版权声明
输入关键词开始搜索。