旋转卡壳
zxyoi_dreamer
退役了退役了爬了爬了,搞个锤子算法竞赛,不如好好享受大学生活。
展开
-
【模板】旋转卡壳
参考题目:POJ2187 解析: 总觉得写得太水对不起别人,那等哪天想清楚了再写吧。。。 旋转卡壳核心代码其实很少的,就是PolygonPolygonPolygon类中的diadiadia,这只是求直径的一个模板。旋转卡壳还有很多其他玄妙的用途,会在以后更新的。 代码: #include<iostream> #include<cstdio> #include<cc...原创 2018-09-30 23:36:02 · 146 阅读 · 0 评论 -
2018.10.18【POJ1912】A highway and the seven dwarfs(凸包)(旋转卡壳)
传送门 解析: 我看大家这道题都是写的凸包二分找斜率啊。 我就来一发旋转卡壳的题解吧。 思路: 首先,怎么判断一条直线是否穿过这个点集? 显然若它将这个点集分为两份,则它必然把这个点集的凸包分为两份,所以为了简化问题,我们先对点集作一个凸包。 之后怎么判断该直线是否穿过这个凸包? 我们找两条斜率与这条直线相等的线,卡住凸包,然后判断者两条直线是否在原直线的同一侧。如果在原直线同一侧,则凸包整体在...原创 2018-10-18 14:22:56 · 217 阅读 · 0 评论 -
2018.10.18【SCOI2007】【BZOJ1069】【洛谷P4166】最大土地面积(凸包)(旋转卡壳)
BZOJ传送门 洛谷传送门 解析: 首先,最大的土地面积选出来的四个点一定在凸包上。 如果不在,总是可以将一个点移动到凸包上使得面积更大,就不详细证明了。 于是先求凸包,简化问题,最朴素的做法就是枚举凸包上的四个点。 那么,我们得到了一个O(n4)O(n^4)O(n4)的优秀 做法。 考虑是不是其中每一个都必须要求出来? 显然不是,我们把所求的四边形转化一下变成三角形,枚举对角线分割,那么问题就...原创 2018-10-18 15:44:00 · 186 阅读 · 0 评论