2012-03-21
SRM 537 Div2
練習
Hard (1000) PrinceXToastbook
問題
- N冊の本がある。
- そのうちの何冊かは、別の本を読んでからでないと理解できない。
- ランダムにN冊読むとき、理解できる冊数の期待値を求める。
方針
- わからん
- uwiさんに教わる
- 事前知識を親として自分が子というグラフとして考える
- 木とか森になっている
- 木が成立せず、閉路があると失敗する(閉路の部分がゼロになる)
- 木の場合、理解できる場合の数÷とりうる全ての場合の数を考えればよい
- 深さをdepthとすると、得られる知識は1.0÷depth!
- https://github.com/firewood/topcoder/blob/master/srm_5xx/srm_537/PrinceXToastbook.cpp
感想
赤い人に教わるという贅沢。
まず制約条件から、どういうものなのか(グラフで表せるのかとか)を描くべき。
閉路検出は最初、自分に戻ってくるかどうかを判定したら無限ループした。すばらしいテストケース! 深さがノード数を超えたら閉路、でよい。
- 25 https://topcoder-g-hatena-ne-jp.jag-icpc.org/
- 2 https://topcoder-g-hatena-ne-jp.jag-icpc.org/diarylist
- 1 http://www.google.co.jp/url?sa=t&rct=j&q=&esrc=s&source=web&cd=3&ved=0CDQQFjAC&url=https://topcoder-g-hatena-ne-jp.jag-icpc.org/firewood/20120318/1332075002&ei=i-lpT9nFBozJmQWHjIGZCQ&usg=AFQjCNGhKwWxNLuZZSTxggTUOyF4N2xP-A&sig2=jv11PKFiz56wI16aEgU96g
- 1 http://www.google.co.jp/url?sa=t&rct=j&q=&esrc=s&source=web&cd=18&ved=0CF0QFjAHOAo&url=https://topcoder-g-hatena-ne-jp.jag-icpc.org/firewood/20111223/1324639729&ei=EwBqT_TyM4qbmQXzwO2TCQ&usg=AFQjCNGZEj_ybsfFx3MPqYKRTR0POr-eTQ
- 1 http://www.google.co.jp/url?sa=t&rct=j&q=&esrc=s&source=web&cd=13&ved=0CDgQFjACOAo&url=https://topcoder-g-hatena-ne-jp.jag-icpc.org/firewood/20111218/1324196925&ei=Ct9qT9uoCorVrQff3KmnAg&usg=AFQjCNF73SC9FKlDAQmuObkGj3mxuteSGQ&sig2=Gx9WEOus8S4y_oo_Ng4Pvg
- 1 http://www.google.co.jp/url?sa=t&rct=j&q=&esrc=s&source=web&cd=19&ved=0CGoQFjAIOAo&url=https://topcoder-g-hatena-ne-jp.jag-icpc.org/firewood/20111207/1323272747&ei=Ct9qT9uoCorVrQff3KmnAg&usg=AFQjCNEpXGYQr6MHMvMBe3TWoFwr9q3PMg&sig2=BszmHJ8HA5jepDTsJ4rIHw
- 1 http://www.google.co.jp/url?sa=t&rct=j&q=&esrc=s&source=web&cd=20&ved=0CG0QFjAJOAo&url=https://topcoder-g-hatena-ne-jp.jag-icpc.org/firewood/20120206/1328550181&ei=WAZrT4fANuiOiAf87sXxBQ&usg=AFQjCNGu1Z6wI9Q6EUCH1hktvJbVmKFllg&sig2=o__M0LfJLHv_HGA0eoz9IA