Entries

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

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

コメント

コメントの投稿

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

トラックバック

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

SPOJ 709 - The day of the competitors [NICEDAY] (この記事を編集する[管理者用])

Source
SPOJ 709 [NICEDAY]

問題概要
N人で3回プログラミングコンテストした順位が与えられる.
毎回同点なくて,完全に順位がついている.
3回とも自分より順位が良かった人がいないような人を優秀者と定義したとき,優秀者の数を求める問題.
Nは100000以下.

解法
まず,1回目の順位でソートして順位の高い順に処理する.
2次元座標に順位をプロットしていくと考えたとき,自分をプロットしたとき,その左下に点がなければカウンターを増やす.
それを毎回O(log n)程度で計算するためにはsegment tree (range minimum query)を使えばできる.

コメント

コメントの投稿

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

トラックバック

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

Appendix

Recent Articles

ブログ内検索

Ads


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