QOJ.ac

QOJ

시간 제한: 3 s 메모리 제한: 1024 MB 총점: 100

#15184. 分割凸多边形

통계

多边形是由一组首尾相连的直线段组成的闭合几何图形。这些线段围成的空间区域称为多边形的内部。线段相交的点称为顶点,线段本身称为边。

简单多边形是指没有自交边且没有孔洞的多边形。换句话说,在多边形内部,任何边都不相互交叉或相交,并且在其每个顶点处,恰好有两条边相交。

凸多边形是一种特殊类型的简单多边形,它具有额外的性质:所有内角都严格小于 180 度。在凸多边形中,如果连接多边形内部的任意两点画一条直线,该直线将始终保持在多边形内部。

David 拥有一块凸多边形形状的土地,该多边形有 $n$ 个顶点 $(x_1, y_1), \dots, (x_n, y_n)$。他想用一条线段 $PQ$ 将这块土地分成两部分,满足以下标准:

  • $P$ 和 $Q$ 是位于待分割凸多边形不同边上的点。
  • 这两个部分都是等周长的凸多边形。也就是说,第一部分的边长之和等于第二部分的边长之和。

请帮助 David 找出 $PQ$ 的最小长度。

输入格式

第一行包含一个整数 $n$,表示待分割凸多边形的顶点数。

接下来的 $n$ 行中,第 $i$ 行包含两个空格分隔的整数 $x_i$ 和 $y_i$,表示凸多边形的一个顶点位于点 $(x_i, y_i)$。

输出格式

输出将输入的凸多边形分割成两个等周长凸多边形的最短线段长度。

数据范围

  • $n \le 100000$
  • 对于 $1 \le i \le n$,$x_i, y_i \in [-10^8, 10^8]$。
  • 不保证 $(x_i, y_i)(x_{i+1}, y_{i+1})$ 是一条边。
  • 如果精度误差小于 $10^{-6}$,则认为答案正确。

样例

输入样例 1

4
0 0
1 10
0 10
1 0

输出样例 1

1

输入样例 2

5
0 0
10 10
0 10
10 0
5 11

输出样例 2

10.0

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.