[BZOJ]1069: [SCOI2007]最大土地面积 计算几何

Description

在某块平面土地上有N个点,你可以选择其中的任意四个点,将这片土地围起来,当然,你希望这四个点围成的多边形面积最大。

Input

第1行一个正整数N,接下来N行,每行2个数x,y,表示该点的横坐标和纵坐标。

Output

最大的多边形面积,答案精确到小数点后3位。

Sample Input

5
0 0
1 0
1 1
0 1
0.5 0.5

Sample Output

1.000

HINT

数据范围 n<=2000, |x|,|y|<=100000




记得前几天ZGS就喊看计算几何,可惜一直浪,没看,昨天考着了,不过数据卡的不紧,YY了个n^2logn都过了,感觉凸包和斜率优化基本一样,会斜率优化就能写出来。


对于这道题,肯定这四个点再凸包上,然后我们枚举四边形的对角线,将四边形面积拆成两个三角形面积。我们发现,因为剩下的两个点都在凸包上,所以如果我们由左到右顺序枚举每个点,那构成的三角形面积的图像一定是一个单峰函数,然后果断三分,考场上卡到一秒过,不过下来测是0.8左右,估计评测机太渣了。

然后这里有一个很有用的优化。我们发现,在枚举对角线时,三角形另一个点的最优位置一定也是递增的,所以时间复杂度可以优化到n^2,似乎这个名字叫旋转卡壳。。。

我的代码太丑了,就不贴了^_^


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值