CF2041L.Building Castle

省选/NOI-

通过率:0%

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

A-Ju 拥有一座美丽的城堡,她经常在其中生活。然而,长时间住在城堡让她感到无聊,所以她想将城堡重建为更漂亮的形状。

在二维平面上,我们用一个凸多边形来表示 A-Ju 的城堡。现在,她希望将城堡改造成一个具有点对称性质的凸多边形。所谓的点对称多边形,指的是存在某个中心点 cc,使得多边形中任意一个点 pp,其关于 cc 的对称点 p′p^\prime 也在这个多边形内。

虽然设计一个点对称凸多边形并不难,但重建的花费却是非常大的。根据估算,重建的成本与原城堡和新形状之间的对称差集的面积有关。请参见下面的图示:

在上面的例子中,A-Ju 的城堡是由点 (3,7)−(2,1)−(6,3)(3, 7) - (2, 1) - (6, 3) 组成的凸多边形。经过重建,新的城堡变成由点 (3,7)−(73,3)−(133,13)−(5,133)(3, 7) - (\frac{7}{3}, 3) - (\frac{13}{3}, \frac{1}{3}) - (5, \frac{13}{3}) 构成的多边形。这两个形状之间的对称差集的面积为 113\frac{11}{3}。这个面积包含了新增的区域(绿色网格表示)以及被削减的区域(红色线条表示)。

请设计一个程序,帮助 A-Ju 规划新的城堡形状,使得原城堡与新城堡之间的对称差集面积达到最小。你只需要输出这个最小面积值,因为 A-Ju 需要先估算一下潜在的改造成本。

输入格式

第一行输入一个整数 nn,表示组成 A-Ju 城堡的多边形的顶点数。

接下来有 nn 行,每行包含两个整数 xi,yix_i, y_i,表示第 ii 个顶点的坐标。顶点按逆时针顺序给出。

  • 3≤n≤5003 \leq n \leq 500
  • ∣xi∣,∣yi∣≤104|x_i|, |y_i| \leq 10^4
  • 顶点按逆时针顺序给出,并保证形成一个没有三点共线的凸多边形。

输出格式

输出一个实数,该数表示原城堡与新城堡之间对称差集的最小面积。

你的答案将被接受,如果其绝对误差或相对误差不超过 10−410^{-4}。具体来说,设你的答案为 aa,标准答案为 bb,则你的回答被视为正确,当 ∣a−b∣max⁡(1,∣b∣)≤10−4\frac{|a-b|}{\max(1,|b|)} \le 10^{-4}。

本翻译由 AI 自动生成

输入输出样例

  • 输入#1

    3
    2 1
    6 3
    3 7

    输出#1

    3.666666666667
  • 输入#2

    4
    0 0
    5 0
    5 5
    0 5

    输出#2

    0.000000000000

输入解题思路,AI测评打分。不知道怎么写?

首页