#P12905. [NERC 2020] Fiber Shape

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

[NERC 2020] Fiber Shape

Description

想象一块钉有 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) 的面积。

Input Format

第一行包含两个整数 nnll3n1043 \le n \le 10^41l81051 \le l \le 8 \cdot 10^5)—— 多边形 SS 的顶点数和细绳长度。接下来 nn 行每行包含两个整数 xix_iyiy_i105xi,yi105-10^5 \le x_i, y_i \le 10^5)—— 按逆时针顺序给出的多边形顶点坐标。多边形的所有内角严格小于 π\pi。长度 ll 至少比多边形周长大 10310^{-3}

Output Format

输出一个浮点数——纤维形状 F(S,l)F(S, l) 的面积。若答案的绝对或相对误差不超过 10610^{-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

Hint

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

翻译由 DeepSeek V3 完成