QOJ.ac

QOJ

Time Limit: 5 s Memory Limit: 1024 MB Total points: 100

#1649. 简单凸包

Statistics

Gary 一直在尝试为他的几何作业生成简单的正交多边形,但他的算法似乎出了一些问题。经过几个小时的调试,他终于意识到问题所在:显然,他生成的“多边形”可能包含自交,这完全不是他的本意!

更具体地说,Gary 生成的“多边形”由一系列点 $p_i = (x_i, y_i)$ 表示,形成一条闭合的多边形链。该多边形链可能包含自交。链中每两个连续点 $(x_i, y_i)$ 和 $(x_j, y_j)$ 形成的线段要么是垂直的,要么是水平的。

示例测试用例中的多边形链如下图所示(不按比例):

你决定通过计算一个完全包含该链的简单(不自交)正交多边形来帮助 Gary 解决这个问题,并使其面积尽可能小。这样的多边形面积是多少?

形式上,你需要计算所有包含所有线段 $[p_i, p_j]$(对于每两个相邻点 $p_i$ 和 $p_j$)的简单正交多边形的面积下确界。

输入格式

第一行包含一个正整数 $n$ ($4 \le n \le 100\,000$)。接下来的 $n$ 行按顺序包含点 $(x_i, y_i)$ ($1 \le x_i, y_i \le 10^6$)。没有两个连续的点重合,也没有两条连续的垂直线段或两条连续的水平线段。

输出格式

输出一个非负整数,即包围该闭合多边形链的所有简单多边形的面积下确界。可以证明答案总是一个整数。

样例

样例输入 1

6
1 1
6 1
6 11
11 11
11 6
1 6

样例输出 1

50

样例输入 2

8
2 4
2 1
4 1
4 3
1 3
1 2
3 2
3 4

样例输出 2

6

样例输入 3

10
1 1
1 5
4 5
4 3
2 3
2 4
1 4
1 2
4 2
4 1

样例输出 3

8

说明

在样例 1 和 3 中,不存在面积恰好等于 50 和 8 的简单多边形;然而,存在面积任意接近这些值的简单多边形。

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.