Entries

スポンサーサイト (この記事を編集する[管理者用])

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

コメント

コメントの投稿

コメントの投稿
管理者にだけ表示を許可する

トラックバック

トラックバック URL
http://rsujskf.blog32.fc2.com/tb.php/2018-49a485f6
この記事にトラックバックする(FC2ブログユーザー)

UVa 12016 - Herbicide (この記事を編集する[管理者用])

Source

Celebration for the 106th Anniversary of Fudan University (1905-2011) & Warmup for ACM/ICPC 2011 World Finals (2011-05-15) (blog)
UVa 12016

問題概要

2次元平面上のN点 (1000以下) が与えられる.
Q個 (1000以下) のクエリに答える問題.
各クエリでは,N個のうちのいくつかを頂点として作られた,S角形が与えられるので,
N個の点のうち,その多角形の内部もしくは周上にある点の数を求める問題.

解法

まず,適当に回転とかして,同じx座標の点をなくす.
N点をx座標の値でソートして,多角形の線分も左端のx座標の位置でソートとかしておく.
後は,尺取メソッドみたいに,その点の上にある多角形の線分の数が偶数か奇数かを求めてやる.
最悪ケースだとO(N^3)になりそうだけど,まぁ,通る.

コメント

コメントの投稿

コメントの投稿
管理者にだけ表示を許可する

トラックバック

トラックバック URL
http://rsujskf.blog32.fc2.com/tb.php/2018-49a485f6
この記事にトラックバックする(FC2ブログユーザー)

Appendix

Recent Articles

ブログ内検索

Ads


(プライバシーポリシー)
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。