【HNOI2011】数矩形
问题描述
最近某歌手在研究自己的全国巡回演出,他将所有心仪的城市都用平面上一个点来表示,并打算从中挑选出4个城市作为这次巡回演出的地点。
为了显示自己与众不同,他要求存在一个矩形使得挑选出的4个点恰好是这个矩形的4个顶点,并且希望这个矩形的面积最大。
这可急坏了经纪人,于是他向全球歌迷征集方案,当然你这位歌迷一定不会错过这个机会。
输入格式
第一行是一个正整数N,表示平面上点的个数(即某歌手心仪的城市数)。
接下来N行,每行是两个整数Xi,Yi,表示对应点的坐标。
输出格式
输出一个数,表示最大矩形面积。
样例输入
8
-2 3
-2 -1
0 3
0 -1
1 -1
2 1
-3 1
-2 1
样例输出
10
提示
$1<=N<=1500 , -10^8<=Xi,Yi<=10^8$
求矩形数量,枚举对角线,先暴力计算两点连线长度和中点,然后将这些存到结构体里面按中点坐标和长度排序。
两条对角线要构成矩形必须满足中点重合且长度相等,排完序后暴力往前找符合条件的边就行了。想一想就能发现暴力找并不会被卡,因此复杂度就是$O(n^2\log n)$的。
代码:
1 |
|