题目
二维平面上,给$N$个整点(坐标都是整数),保证以这些点为顶点的三角形的面积不超过$S$。让你找出一个整点三角形(顶点不一定是给出的点),包含所有给出的点,且面积不超过$4S$。
数据范围
$3\leq N \leq 5000 \quad |坐标|\leq 10^8$
做法
给出的点组成的最大的三角形的顶点记为$a,b,c$,面积记为$s$。用反证法,易证:以$a,b,c$为三边中点的三角形包含所有给出的点,记其面积为$S_{max}$。显然,上述两个三角形相似。所以:$4S\geq 4s = S_{max}$ 。故,上述两个三角形的后者即为所求。
而最大的三角形可以用旋转卡壳法求出,复杂度为$O(N^2)$。
代码
|
|