第五周-周测-小粽圈地

                                小粽圈地


问题描述

小粽家里有一块地,地上有

n 个木桩。小粽家的地可以看作是一个平面,并且小粽知道每个木桩的坐标

(xi,yi)。

小粽很喜欢四边形,现在她想从这些木桩中选出

4 个来围成一个四边形(这个四边形为简单多边形,即每条边不能和自己相交,但不一定要为凸四边形),并使得这个四边形的面积最大。请你帮小粽算出这个最大值是多少。

输入格式

第一行一个正整数

n 表示木桩的大小。

接下来

n 行,第 i 行位两个实数 xi,yi,描述了第

i 个木桩的坐标。

输出格式

输出一行一个实数,表示围出的最大的四边形的面积。保留三位小数。

输入样例1

5
0 0
1 0
1 1
0 1
0.5 0.5

输出样例1

1.000

样例2

点此下载。

数据范围及约定

 

20% 的数据满足

n ≤100;

 

60% 的数据满足

n ≤400;

 

80% 的数据满足

n ≤1500;

 

100% 的数据满足

n ≤5000,所有坐标都在 int 范围内。

提示

[显然,答案是在凸包上的]

[可以考虑枚举一条对角线,再设法确定另外两点的位置,例如注意到点的位置具有单峰性。]

[更可考虑求对角线与凸包的切点,利用单调性均摊复杂度]

为了帮助大家完成题目,我们提供了只包含了输入输出功能的程序模板,也提供了含有算法的大部分实现细节的程序。

你可以根据自己的实际情况,在这些程序的基础上进行作答,或不参考这些程序,这将与你的得分无关。

这些程序可以从【这里】下载。

特别提醒:对于 Java 语言,在提交时请删除程序中的所有中文字符,否则可能无法通过编译。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值