2011-03-01から1ヶ月間の記事一覧

Topcoder SRM 501

久しぶりの20時開催という日本人に優しいスケジュールと逃すわけにはいかないと、前日からの風邪を押して*1参加。 DIV1 250 Fox Plaing Game 方針 またウサギ回だ。全部試すと 100 choose 50 でとんでもない組み合わせ数になるので無理。DP だろうなぁ。しか…

Codeforces Beta Round #64

(SRM 500 と Codeforces #62 も記録はしてあるので、そのうち載せる)仮眠してから参加。 A Cookies 方針 フラクタルっぽい。これは再帰か、1000はスタック大丈夫かなぁなどと考えているうちに、実は3の冪乗じゃないかと気がつく。 実装 Ruby なら多倍長演算…

Codeforces Beta Round #62

A: Irrational problem 方針 やるだけ 実装 Codeforces は Ruby で書くのが常だが、next_permutation が使いたかったので C++ で書いた。 next_permutation するときは、事前のソートを忘れずに! B: Energy exchange 方針 一台あたり エネルギー E にできる…

SRM 499 DIV1

250 ColorfulRabbits 方針 サンプル見て考える。返答が違うもの同士は絶対に違うグループ。返答が同じなら、同じグループにしてよい。つまり、返答がnなら、そのグループのメンバはn+1。もし、同じ返答をしたウサギが n+1以上いるなら、グループを分割しない…

練習

Codeforces Beta Round #60 C - Harry Potter and the Golden Snitch 方針 vp > vs より、ある時間 t0 で補足可能なら、任意の t >= t0 で補足可能。したがって、二分探索ができる。 実装 実数を扱う問題を解いたのは始めてだったが、非常に難儀した。その分…

Codeforces #60

仮眠してからスタート。 A Harry Potter and Three Spells 方針 まさかの Harry Potter ネタ。個人的にはナルニア派だけど、ハリー・ポッターも原著で全巻読む程度には好きでした。本質的には、ace < bdf。サンプルを見ると、0 の場合がやっかいそう。いくつ…

練習

Codeforces 62B - Tyndex.Brome 方針 O(n^2)は無理なので、比較元について、各文字の出現する場所をあらかじめ調べておく。例えば、「aは、1,3,10番目に出る」みたいな感じ。比較先の各文字について、上の表を二部探索すればいい。 実装 STL の lower_bound,…