QOJ.ac

QOJ

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

#1649. Simple Hull

统计

Garyは幾何学の宿題のために単純な直交多角形を生成しようとしていましたが、彼のアルゴリズムにはいくつかの問題があるようです。数時間のデバッグの後、彼はついに問題が何であるかに気づきました。どうやら、彼が生成していた「多角形」には自己交差が含まれている可能性があり、それは彼が意図したものでは全くありませんでした!

より具体的には、Garyが生成した「多角形」は、$n$ 個の点 $p_i = (x_i, y_i)$ のリストで表され、閉じた多角形鎖を形成しています。この多角形鎖は自己交差を含んでいる可能性があります。鎖内の連続する2点 $(x_i, y_i)$ と $(x_j, y_j)$ によって形成される線分は、すべて垂直または水平です。

例題のテストケースにおける多角形鎖を以下に示します(縮尺は正確ではありません):

あなたはこの問題を解決するために、その鎖を完全に含み、かつ面積が最小となるような、単純な(自己交差しない)直交多角形を計算することでGaryを助けることにしました。そのような多角形の面積はいくらでしょうか?

形式的には、すべての隣接する点 $p_i$ と $p_j$ について、すべての線分 $[p_i, p_j]$ を含むようなすべての単純な直交多角形の面積の下限(infimum)を計算する必要があります。

入力

入力の最初の行には正の整数 $n$ ($4 \le n \le 100\,000$) が含まれます。続く $n$ 行には、点 $(x_i, y_i)$ が順に含まれます ($1 \le x_i, y_i \le 10^6$)。連続する2点が一致することはなく、また連続する2つの垂直な線分や、連続する2つの水平な線分は存在しません。

出力

閉じた多角形鎖を囲むすべての単純な多角形の面積の下限である、単一の非負整数を出力してください。答えは常に整数になることが証明できます。

入出力例

入力 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.