CF1510F.Fiber Shape
省选/NOI-
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
设想有一个板子,上面钉有 n 个钉子,第 i 个钉子的位置为 (xi,yi)。为简化问题,假设所有钉子都位于一个凸多边形的顶点上。
现在,取一根长度为 l 的不可伸缩的绳子,将其绕在所有钉子上。用一支铅笔插入绳圈内,沿着钉子周围拉紧绳子并画出一条曲线。下图展示了用绳子绕住钉子并被铅笔(点 P)拉紧的示例。

你的任务是求出这条曲线所包围的区域面积。更正式地,对于给定的凸多边形 S 和长度 l,我们定义“纤维形状” F(S,l) 为所有点 t 的集合,使得 Conv(S∪{t}) 的周长不超过 l。请计算 F(S,l) 的面积。
输入格式
第一行包含两个整数 n 和 l(3≤n≤104;1≤l≤8⋅105),分别表示多边形 S 的顶点数和绳子的长度。接下来的 n 行,每行包含两个整数 xi 和 yi(−105≤xi,yi≤105),表示多边形顶点的坐标,按逆时针顺序给出。多边形的所有内角都严格小于 π。绳子的长度 l 至少比多边形的周长大 10−3。
输出格式
输出一个浮点数,表示纤维形状 F(S,l) 的面积。你的答案若与标准答案的绝对误差或相对误差不超过 10−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测评打分。不知道怎么写?