QOJ.ac

QOJ

時間限制: 5 s 記憶體限制: 2048 MB 總分: 100

#14564. 卓越工程

统计

你是负责为新型太空漫游车设计轮子的工程师。由于你没有足够的时间去重新发明轮子,你决定直接套用前任的工作,并且只做一处微小的修改。

看着设计图,你注意到出于结构原因,你前任设计的轮子呈凸多边形。众所周知,周长越大的轮子每转一圈滚得越远,所以它们肯定更优越。你试图通过移动轮子边缘上的一个点,来尽可能地增加周长。在实验过程中,你发现如果轮子是非凸的,或者存在小于 $90$ 度的内角,轮子似乎就无法正常工作。

在不违反上述限制的前提下,轮子周长最大可能增加多少?

图 E.1:第一个样例的示意图。点 3 被移动到 $(5.5, 3.5)$,周长增加了约 $1.59488$。

输入格式

输入包含:

  • 一行,包含一个整数 $n$($4 \le n \le 10^5$),表示轮子的顶点数。
  • $n$ 行,每行包含两个整数 $x$ 和 $y$($|x|, |y| \le 10^5$),表示顶点的坐标。

这些点按逆时针顺序给出,并构成一个没有小于 $90$ 度内角的凸多边形。注意,该凸多边形可能包含共线的点,但没有两个点在同一位置。

输出格式

输出轮子周长最大可能的绝对增加量。

你的答案与标准答案的绝对或相对误差应不超过 $10^{-6}$。

样例

输入样例 1

5
1 1
4 1
4 3
3 5
1 4

输出样例 1

1.594883917346

输入样例 2

7
0 -4
3 -3
5 -2
3 2
-6 -2
-6 -4
-2 -4

输出样例 2

3.151142198204

输入样例 3

4
0 0
1 0
1 1
0 1

输出样例 3

0.000000000000

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.