#P12905. [NERC 2020] Fiber Shape

    ID: 14749 远端评测题 3000ms 512MiB 尝试: 0 已通过: 0 显示难度NOI/NOI+/CTS 上传者: 标签>计算几何2020Special Judge微积分ICPCNERC/NEERC

[NERC 2020] Fiber Shape

题目描述

想象一块钉有 nn 个钉子的木板,第 ii 个钉子的位置为 (xi,yi)(x_i, y_i)。为简化问题,我们限定这些钉子位于一个凸多边形的顶点上。

然后取一根长度为 ll 的不可伸缩细绳,将其绕过所有钉子。将铅笔置于细绳内侧,尝试向各个方向拉紧细绳并绘制出围绕钉子的曲线。下图展示了细绳绕钉并被铅笔(点 PP)拉紧的示例。

你的任务是计算该曲线所围成的区域面积。正式地,对于给定凸多边形 SS 和长度 ll,我们定义 纤维形状 F(S,l)F(S, l) 为满足以下条件的点 tt 的集合:S∪{t}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} 即视为正确。

3 4
0 0
1 0
0 1
3.012712585980357
4 5
0 0
1 0
1 1
0 1
5.682061989789656
5 17
0 0
2 -1
3 0
4 3
-1 4
37.719371276930820

提示

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

翻译由 DeepSeek V3 完成