2011-11-19
SRM 524 Div2
Easy (250) ShippingCubes
問題
- N個の立方体をa x b x cの形で隙間なく詰めたい。
- a+b+cの最小値を求める。
方針
- 素因数分解して組み合わせ、と思ったが
- Nが小さいので全探索に切り替え
- https://github.com/firewood/topcoder/blob/master/srm_5xx/srm_524/ShippingCubes.cpp
Medium (500) MagicDiamonds
問題
- 距離nだけ移動したい
- 素数の移動は不可
方針
- 合成数なら1、素数なら2 (素数の場合、偶数と1の2回に分割できる)
- ただし3の場合は3 つまりn<=3ならnを返せばよい
- 偶数をはじいてから、3から√nまでの奇数で割ってみて素数判定
- https://github.com/firewood/topcoder/blob/master/srm_5xx/srm_524/MagicDiamonds.cpp
Hard (1000) MultiplesWithLimit
問題
- 0から9のうち、0から9個だけ禁止されている
- 禁止文字を使わずに、与えられたnの倍数の最小値を求める
方針
- 本番で解けず、解きなおし
- 下の桁からBFS
- 1度処理した余りは、2度目は無視してよい
- ただし、見つかったものが最小値か不明なので、解が見つかったら、キューへの追加をやめて、残りのキュー(同じ桁数のキュー)を全て処理する。
- ためしにpriority_queueを使ってみたが遅くて断念
- https://github.com/firewood/topcoder/blob/master/srm_5xx/srm_524/MultiplesWithLimit.cpp
結果
oo- 224.71+439.48-25.0=639.19 rating 1179 -> 1190
easyは途中で方針を変えた割にはそこそこの時間で書けた。
これは郵便物の送料を最小化する問題ということだろうか。球に近づければ良いのだと思われる。
mediumは前回範囲の判定が甘かったので、今回は1~5くらいまで個別に代入してじっくり見た。
除算での判定もそれなりに速いのはSRM 508のときに調べていたので同じように書いた。一応、submitしてから最大値より少しだけ大きい素数1000000000039でも一瞬で終わることは確かめておいた。ループ判定で乗算しているが、乗算命令は速いのでここが定数でもあまり速度は変わらない。
hardはださい全探索を書いてみたが全く終わらないので諦めた。AnalysisによるとDFAとのこと。
challengeはmediumの3のケースだろうな、と思っていたが開始5秒とかで最初の一人が落とされたのはまいった。√n未満までしか判定してないケースが後まで残っていて気づかなかったのは反省。
- 54 https://topcoder-g-hatena-ne-jp.jag-icpc.org/
- 1 http://www.google.co.jp/url?sa=t&rct=j&q=topcoder+kusano&source=web&cd=4&ved=0CEkQFjAD&url=https://topcoder-g-hatena-ne-jp.jag-icpc.org/firewood/20111023/1319349213&ei=yg_ITtvgGO7SmAXdtcQK&usg=AFQjCNEg8D5vXbeLHVcM_56Sks4wmlGCEQ&sig2=ogYfPyX_q9K6VqdTewss4A
- 1 http://www.google.co.jp/url?sa=t&rct=j&q=topcoder+kusano&source=web&cd=3&ved=0CEIQFjAC&url=https://topcoder-g-hatena-ne-jp.jag-icpc.org/firewood/?of=5&ei=yg_ITtvgGO7SmAXdtcQK&usg=AFQjCNFt2Ym-P_ZEk8KZe27XW_11ZrFP3w&sig2=904QwlnZd9c2TwriVCvPZA
- 1 http://www.google.co.jp/url?sa=t&rct=j&q=kusano+topcoder+python&source=web&cd=7&ved=0CF0QFjAG&url=https://topcoder-g-hatena-ne-jp.jag-icpc.org/firewood/?of=5&ei=YxDITtshhveYBcXm3Sc&usg=AFQjCNFt2Ym-P_ZEk8KZe27XW_11ZrFP3w&sig2=Tn2gkHqOW7Nb1AW-LpCwNg
- 1 https://topcoder-g-hatena-ne-jp.jag-icpc.org/diarylist
- 1 http://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=2&ved=0CC8QFjAB&url=https://topcoder-g-hatena-ne-jp.jag-icpc.org/firewood/20111119/1321703233&ei=MQTJTu_bF8i0iQe_0rn-Dw&usg=AFQjCNHpMDQTbOdwHi0D5paL4Rd0UOsvKA&sig2=_XAi1sYx20xxsk5dQ8Pfrg
- 1 http://www.google.co.jp/url?sa=t&rct=j&q=MultiplesWithLimit&source=web&cd=5&ved=0CDgQFjAE&url=https://topcoder-g-hatena-ne-jp.jag-icpc.org/firewood/20111119&ei=xwzJTorTGq2WmQX2_-Un&usg=AFQjCNHQu4kijmhP8Ezn4Yggy0NlDFBD4A
- 1 http://www.google.co.jp/url?sa=t&rct=j&q=srm 518 coinreversing&source=web&cd=3&ved=0CCsQFjAC&url=https://topcoder-g-hatena-ne-jp.jag-icpc.org/firewood/20111018/1318953786&ei=WfzKTuKcGPHtmAWc2NCfDQ&usg=AFQjCNFPoOUooZ0E9chz5-e83chAyqm08A&sig2=4m5jX90DuL1WPkQKR7aEJA
- 1 http://www.google.co.jp/url?sa=t&rct=j&q=devquiz 練習&source=web&cd=1&ved=0CCgQFjAA&url=https://topcoder-g-hatena-ne-jp.jag-icpc.org/firewood/20110912/1315840772&ei=0kLLTp23Du6ZmQW5yNinDQ&usg=AFQjCNFU2VyVctL5Biimi4iEr8EiYiVxvA&sig2=BVmrcxNt52TeHkkUw3AhrA
- 1 http://www.google.co.jp/url?sa=t&rct=j&q=div2 522&source=web&cd=2&ved=0CCcQFjAB&url=https://topcoder-g-hatena-ne-jp.jag-icpc.org/firewood/20111027/1319732512&ei=EZHLTr3bIMX6mAWT-fTBDQ&usg=AFQjCNEni1jQFLxa-xdo1elZIL8RP3tISQ&sig2=ZrFwYQgd-WqvjkCuRhIduw