#P12905. [NERC 2020] Fiber Shape

    ID: 12676 Type: RemoteJudge 3000ms 512MiB Tried: 0 Accepted: 0 Difficulty: 7 Uploaded By: Tags>计算几何2020Special Judge微积分ICPCNERC/NEERC

[NERC 2020] Fiber Shape

题目描述

Imagine a board with nn pins put into it, the ii-th pin is located at (xi,yi)(x_i, y_i). For simplicity, we will restrict the problem to the case where the pins are placed in vertices of a convex polygon.

Then, take a non-stretchable string of length ll, and put it around all the pins. Place a pencil inside the string and draw a curve around the pins, trying to pull the string in every possible direction. The picture below shows an example of a string tied around the pins and pulled by a pencil (a point PP).

Your task is to find an area inside this curve. Formally, for a given convex polygon SS and a length ll let's define a fiber shape\emph{fiber shape} F(S,l)F(S, l) as a set of points tt such that the perimeter of the convex hull of S{t}S \cup \{t\} does not exceed ll. Find an area of F(S,l)F(S, l).

输入格式

The first line contains two integers nn and ll (3n1043 \le n \le 10^4; 1l81051 \le l \le 8 \cdot 10^5) --- the number of vertices of the polygon SS and the length of the string. Next nn lines contain integers xix_i and yiy_i (105xi,yi105-10^5 \le x_i, y_i \le 10^5) --- coordinates of polygon's vertices in counterclockwise order. All internal angles of the polygon are strictly less than π\pi. The length ll exceeds the perimeter of the polygon by at least 10310^{-3}.

输出格式

Output a single floating-point number --- the area of the fiber shape F(S,l)F(S, l). Your answer will be considered correct if its absolute or relative error doesn't exceed 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

提示

The following pictures illustrate the example tests.