CF1510F.Fiber Shape

省选/NOI-

通过率:0%

AC君温馨提醒

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

题目描述

设想有一个板子,上面钉有 nn 个钉子,第 ii 个钉子的位置为 (xi,yi)(x_i, y_i)。为简化问题,假设所有钉子都位于一个凸多边形的顶点上。

现在,取一根长度为 ll 的不可伸缩的绳子,将其绕在所有钉子上。用一支铅笔插入绳圈内,沿着钉子周围拉紧绳子并画出一条曲线。下图展示了用绳子绕住钉子并被铅笔(点 PP)拉紧的示例。

你的任务是求出这条曲线所包围的区域面积。更正式地,对于给定的凸多边形 SS 和长度 ll,我们定义“纤维形状” F(S,l)F(S, l) 为所有点 tt 的集合,使得 Conv⁡(S∪{t})\operatorname{Conv}(S \cup \{t\}) 的周长不超过 ll。请计算 F(S,l)F(S, l) 的面积。

输入格式

第一行包含两个整数 nn 和 ll(3≤n≤1043 \le n \le 10^4;1≤l≤8⋅1051 \le l \le 8 \cdot 10^5),分别表示多边形 SS 的顶点数和绳子的长度。接下来的 nn 行,每行包含两个整数 xix_i 和 yiy_i(−105≤xi,yi≤105-10^5 \le x_i, y_i \le 10^5),表示多边形顶点的坐标,按逆时针顺序给出。多边形的所有内角都严格小于 π\pi。绳子的长度 ll 至少比多边形的周长大 10−310^{-3}。

输出格式

输出一个浮点数,表示纤维形状 F(S,l)F(S, l) 的面积。你的答案若与标准答案的绝对误差或相对误差不超过 10−610^{-6},则视为正确。

输入输出样例

  • 输入#1

    3 4
    0 0
    1 0
    0 1

    输出#1

    3.012712585980357
  • 输入#2

    4 5
    0 0
    1 0
    1 1
    0 1

    输出#2

    5.682061989789656
  • 输入#3

    5 17
    0 0
    2 -1
    3 0
    4 3
    -1 4

    输出#3

    37.719371276930820

说明/提示

下图展示了样例测试的示意图。



由 ChatGPT 4.1 翻译

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

首页