2012-03-08
SRM 536 Div1
三ヶ月ぶりのdiv1参加
Easy (250) MergersDivOne
問題
- いくつかの会社があり、それぞれの利益が配列で与えられる。
- 会社を合併すると、新会社の利益は、各社の利益の総和÷社数となる。
- 最終的にできる会社の利益の最大値を求める。
方針
- なんか赤字のとこからマージしてくと良さそうなのでまずソートする
- これ最小のとその次のマージするのを繰り返せば、赤字の効果が最も薄まるんじゃ
- 一度に任意の社数をマージできるけど、2で良さそう
- sample通ったのでとりあえずsubmitして検算する
- https://github.com/firewood/topcoder/blob/master/srm_5xx/srm_536/MergersDivOne.cpp
Medium (500) RollingDiceDivOne
問題
- N個のサイコロがある。
- それぞれのサイコロの面は1からk=dice[i]までの番号が振られていて、出目の確率は等しい。
- 最も出やすい出目の合計値を求める。複数ある場合は最小値。
方針
- 個々の期待値は(1+k)/2
- 足すと1が含まれているサンプルが合わない
- 1のとき場合わけするとサンプルと合うのでとりあえずsubmit
- 何人かresubmitしてるので読み直す
- 自分を撃墜するパターンは見つけたが、実装間に合わず
- 終了後解き直し
- https://github.com/firewood/topcoder/blob/master/srm_5xx/srm_536/RollingDiceDivOne.cpp
Hard (1000)
openだけしてみた。
結果
ox- 235.23 + 395.84*0 + 50*1 = 285.23 174th rating 1258 -> 1404 (+146)
できすぎな結果。
easyはsubmitしてから落ち着いて考えて、計算手順は合ってそうだが、誤差死するのかどうか確認したりした。一意に定まるので、誤差が出ることはなかった。
setに突っ込んでいる人が落ちていたのだが、理由は同じ値が消えるためだった。よくある不具合だが実行しないとわからなかったので、修行が足りない。
mediumはとりあえずサンプルは合って、div1mediumがそんな簡単なわけはないと思ったがやはりそうだった。しかしコーナーケースはわかったので、最速で1撃墜した。
最後だけ大きいケースの場合が、それまでの最大値+1になるのは、パターンを書いてみて直感的には理解した。最後の出目を加えたパターンは、最大値+1までは場合の数の分布になり、最大値+1のところから先は変化しなくなるから、みたいな感じ。
ちなみに和をaccumulateで求めるとoverflowするというおまけつきだった。
- 52 https://topcoder-g-hatena-ne-jp.jag-icpc.org/
- 1 http://www.google.co.jp/url?sa=t&rct=j&q=srm534 &source=web&cd=4&ved=0CEEQFjAD&url=https://topcoder-g-hatena-ne-jp.jag-icpc.org/firewood/20120225/1330153505&ei=Q8pYT-bbGomviQeigLXHDQ&usg=AFQjCNFGOxZcr9SIWeLlFSoWcLbrm44s_g
- 1 http://search.yahoo.co.jp/search?p=8パズル+解き方&rs=1&aq=-1&ei=UTF-8&pstart=1&fr=top_smf&b=11
- 1 http://www.google.co.jp/url?sa=t&rct=j&q=&esrc=s&source=web&cd=18&cts=1331390106543&ved=0CGUQFjAHOAo&url=https://topcoder-g-hatena-ne-jp.jag-icpc.org/firewood/20120308/1331218846&ei=UGZbT6ffHYSaiQeQtaiBBA&usg=AFQjCNEdk_xkTzJCqSH0QuDUj42_GboRVQ
- 1 http://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=3&cts=1331393786684&ved=0CDgQFjAC&url=https://topcoder-g-hatena-ne-jp.jag-icpc.org/firewood/20120106/1325873167&ei=9nRbT7LXL8brmAX6w7y5Dw&usg=AFQjCNFrbh5G5KRUfLYY3ZwhYI51ziANvg&sig2=nh0rHBgHOdN7U-RzrXmoYg
- 1 http://www.google.co.jp/url?sa=t&rct=j&q=&esrc=s&source=web&cd=4&cts=1331395004844&ved=0CDwQFjAD&url=https://topcoder-g-hatena-ne-jp.jag-icpc.org/firewood/20120304/1330885241&ei=DS1bT9DzKdDjmAWNhI2dDw&usg=AFQjCNE8ofIfq-EQ7AW6IR9vW05H8b4rqA&sig2=VIXcA1sVbxHyHJlvcrhPcA
- 1 http://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&cts=1331457991380&ved=0CCYQFjAA&url=https://topcoder-g-hatena-ne-jp.jag-icpc.org/firewood/20120211/1328982201&ei=im9cT9LUAu_kmAXmtJjRDw&usg=AFQjCNH0ACo3VJudGYLzal8Kl9Mo3tM-KA&sig2=wMDzmBJPhS-HLxKMuGND1g
- 1 http://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=4&cts=1331457997403&ved=0CDsQFjAD&url=https://topcoder-g-hatena-ne-jp.jag-icpc.org/firewood/?of=5&ei=im9cT9LUAu_kmAXmtJjRDw&usg=AFQjCNFt2Ym-P_ZEk8KZe27XW_11ZrFP3w&sig2=6LhWPhFUJ6vWjsRRssvezQ