平面凸包
HT008_123
家人们点点关注叭
展开
-
平面凸包--Jarvis
问题描述: 覆盖平面上N个点的最小凸多边形 形象来讲就是平面上有n个柱子,把一根封闭的弹性绳套上这些柱子,绳子绷紧以后形成的多边形就是我们要求的凸包. 算法实现: 1.斜率逼近法,不好写而且很慢,不予介绍。 2.jarvis算法 3.Graham算法 第三个是基于对第二个的优化。 本文主要介绍Jarvis算法,Graham算法下篇文章再议。 求平面凸包的数学构造法: 找一条直线原创 2018-01-31 10:37:46 · 295 阅读 · 0 评论 -
[POJ 2187/Luogu 1452]Beauty Contest
题目描述: 给你n个点,求任意两两之间点的最大距离的平方。 题目分析: NN2" role="presentation">N2N2N^2的暴力不可过。 最大的距离肯定是在凸包上的点上取到,于是先求凸包,然后N2" role="presentation">N2N2N^2枚举凸包上的点,凸包上的点不会太多,所以可过。 代码实现 Jarvis(Luogu 34ms POJ 400+m原创 2018-01-31 10:45:55 · 202 阅读 · 0 评论 -
平面凸包--Graham
题目描述: 覆盖平面上N个点的最小凸多边形 形象来讲就是平面上有n个柱子,把一根封闭的弹性绳套上这些柱子,绳子绷紧以后形成的多边形就是我们要求的凸包. 算法实现: 上一篇文章介绍了Jarvis算法 复杂度为 O(n*h) 但如果Jarvis的时间效率不够高,我们可以选择另一种更高效的算法–Graham算法. Gramham算法其实是基于对Jarvis算法的一个优化,让我们可以更高效的原创 2018-01-31 15:12:52 · 205 阅读 · 0 评论 -
[COGS 896] 圈奶牛
题目描述: 给你n个点的坐标,问最少用多少花费可以把他们围起来。 传送门 题目分析: 没啥好分析的,就是个裸的凸包。 代码实现: #include #include #include #include const int maxm=10005; const double eps=1e-10; struct Point{ double x,y; Point o原创 2018-01-31 16:12:00 · 245 阅读 · 0 评论