Entries

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

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

コメント

コメントの投稿

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

トラックバック

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

SPOJ 3267 - D-query [DQUERY] (この記事を編集する[管理者用])

Source
VNOI
SPOJ 3267 [DQUERY]

問題概要
30000要素以下の数列が与えられる.
その数列に対して200000個以下のクエリが与えられる.
各クエリは,ある数列の区間[a,b]に入っている異なる要素の数を求める.

解法
自力で思いつかなくてTopCoderのForumを頼った
まず,クエリを区間の終端の値bでソートしておく.
で,数列を加えつつ,クエリを順番に処理していくと,数列の中でa番目以降に出てくる要素の数が答え.
各数字が,最後に出現した場所を覚えつつ,最後に出現した場所のヒストグラムをFenwick treeで保持しておけば良い.

コメント

コメントの投稿

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

トラックバック

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

Appendix

Recent Articles

ブログ内検索

Ads


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