解いた問題のソースコードと解説など。


2013-09-01から1ヶ月間の記事一覧

SRM Div2 528 Hard Mosquitoes

SRM

問題 http://apps.topcoder.com/stat?c=problem_statement&pm=11654&rd=14553 蚊が数直線上でxInit[i]の初期位置におり、毎秒v[i]の速度で移動する。あなたは前後R以下にいる蚊を殺傷できる爆弾を持っており、任意の時刻に任意の位置で爆発させることができ…

SRM 526.5 Div2 Hard MagicNaming

問題 http://apps.topcoder.com/stat?c=problem_statement&pm=11674&rd=14762 文字列がn個存在し、これらを辞書式最小になるように結合したものがSとなる。このnを最大化せよ。 やりかた DP。 dp[j][i] := (文字列Sのj文字目まででS[i...j]を1つの文字列と…

SRM 527 Div2 Hard P8XCoinChangeAnother

問題 http://apps.topcoder.com/stat?c=problem_statement&pm=11222&rd=14552 のコインを枚使ってcoins_sumにしたい。かつそのとき使用するコインの枚数の合計としたい。このような辞書式最小のを返せ。 やりかた coins_sumを2進数で表現したとき、これは2^i…

SRM 522 Div2 Hard CorrectMultiplicationTwo

問題 http://apps.topcoder.com/stat?c=problem_statement&pm=11609&rd=14547 a * b = cという等式が与えられる。しかしこの等式は成り立っていないのでa,b,cをA,B,Cに書き換えてA * B = Cが成り立つようにしたい。の最小値はいくつか。1 やりかた Aを1から1…

SRM 519 Div2 Hard BinaryCards

問題 http://apps.topcoder.com/stat?c=problem_statement&pm=11552&rd=14544 カードが複数枚あり、2^0, 2^1, 2^3, ...というように各々に2のべき乗のいずれかが書かれている。このカードを表にすることでそのカードを使用するということをあらわす。自然数…

SRM 518 Div2 Hard CoinReversing

問題 http://community.topcoder.com/stat?c=problem_statement&pm=11473&rd=14543 表向きに置かれたN枚のコインと要素数Kの配列a[]が与えられる。ターンi(0-indexed)ではコインをa[i]枚ランダムに選んで裏表をひっくり返す、という動作をKターンまで行っ…

SRM 517 Div2 Hard CuttingGrass

問題 http://apps.topcoder.com/stat?c=problem_statement&pm=11536&rd=14542 複数の木があり、それらの高さはinit[i]である。毎ターンそれぞれの木はgrow[i]だけ成長する。そしてあなたは毎ターンどれかの木を切る。切るとその木は高さが0になる。 木の高さ…

SRM 516 Div2 Hard NetworkXMessageRecovery

問題 http://apps.topcoder.com/stat?c=problem_statement&pm=11239&rd=14541 文字列message[i]を部分列として持つような最短の文字列を返せ。複数ある場合は辞書式最小のものを返せ。なお各message[i]の文字はすべて異なる。 やりかた Editorialを参考にし…

Get up! 明日のSUPER ST@R!