P3967【SCOI2007】最大土地面积
问题描述
在某块平面土地上有N个点,你可以选择其中的任意四个点,将这片土地围起来,当然,你希望这四个点围成的多边形面积最大。
输入格式
在某块平面土地上有N个点,你可以选择其中的任意四个点,将这片土地围起来,当然,你希望这四个点围成的多边形面积最大。
输出格式
最大的多边形面积,答案精确到小数点后3位。
样例输入
5
0 0
1 0
1 1
0 1
0.5 0.5
样例输出
1.000
提示
n<=2000, |x|,|y|<=100000
首先,面积最大的点一定在凸包上,因此先求出凸包,然后在凸包上搞。
求四边形面积不方便,容易想到拆成两个三角形,因此可以枚举对角线,然后分别求出对角线两侧的最大三角形面积。这里可以在凸包上二分。
但是注意到当对角线一端固定,另一端向一个方向移动时,最大三角形面积的位置也是单调的。因为相当于是用平行于当前对角线的直线去与凸包求切点,所以可以旋转卡壳,跟着转就行了。最好直接用面积判断是否需要移动。
总复杂度$O(n^2)$
代码:
1 |
|