旋转卡壳|学习笔记
Sagittarius · · 个人记录
【优秀blog】
题目大意:给你一个凸多边形,求出凸多边形内最大距离(凸多边形的直径)。
对于一个凸多边形随便选一条边,然后枚举出离这条边最远的点。
如图选定AB,最远点是E,过E作AB平行线。我们可以得到以E为其中一个点的最大距离(要么是AE要么是BE)。
接下来我们顺时针旋转两条平行线,使某一条线与凸多边形的边重合。上图中,过点E的平行线顺时针旋转后与EF重合,AB变为过B的关于EF平行的平行线。
我们得到以点B为其中一个点的最大距离(要么是BE要么是BF)
继续顺时针旋转两条平行线,就能得到凸多边形的直径。
【POJ-2187模板题】