CF2041L Building Castle

题目描述

A-Ju 拥有一座美丽的城堡,她经常在其中生活。然而,长时间住在城堡让她感到无聊,所以她想将城堡重建为更漂亮的形状。 在二维平面上,我们用一个凸多边形来表示 A-Ju 的城堡。现在,她希望将城堡改造成一个具有点对称性质的凸多边形。所谓的点对称多边形,指的是存在某个中心点 $c$,使得多边形中任意一个点 $p$,其关于 $c$ 的对称点 $p^\prime$ 也在这个多边形内。 虽然设计一个点对称凸多边形并不难,但重建的花费却是非常大的。根据估算,重建的成本与原城堡和新形状之间的对称差集的面积有关。请参见下面的图示: ![](https://cdn.luogu.com.cn/upload/vjudge_pic/CF2041L/cc81c15b80e191d8f11f35ce9dd6d735fd831b60.png) 在上面的例子中,A-Ju 的城堡是由点 $(3, 7) - (2, 1) - (6, 3)$ 组成的凸多边形。经过重建,新的城堡变成由点 $(3, 7) - (\frac{7}{3}, 3) - (\frac{13}{3}, \frac{1}{3}) - (5, \frac{13}{3})$ 构成的多边形。这两个形状之间的对称差集的面积为 $\frac{11}{3}$。这个面积包含了新增的区域(绿色网格表示)以及被削减的区域(红色线条表示)。 请设计一个程序,帮助 A-Ju 规划新的城堡形状,使得原城堡与新城堡之间的对称差集面积达到最小。你只需要输出这个最小面积值,因为 A-Ju 需要先估算一下潜在的改造成本。

输入格式

第一行输入一个整数 $n$,表示组成 A-Ju 城堡的多边形的顶点数。 接下来有 $n$ 行,每行包含两个整数 $x_i, y_i$,表示第 $i$ 个顶点的坐标。顶点按逆时针顺序给出。 - $3 \leq n \leq 500$ - $|x_i|, |y_i| \leq 10^4$ - 顶点按逆时针顺序给出,并保证形成一个没有三点共线的凸多边形。

输出格式

输出一个实数,该数表示原城堡与新城堡之间对称差集的最小面积。 你的答案将被接受,如果其绝对误差或相对误差不超过 $10^{-4}$。具体来说,设你的答案为 $a$,标准答案为 $b$,则你的回答被视为正确,当 $\frac{|a-b|}{\max(1,|b|)} \le 10^{-4}$。 **本翻译由 AI 自动生成**