TopCoder SRM

SRM500 Div2 Easy - SRMCards

問題 重複しない数字が書かれたn枚のカードがある kが書かれたカードを取り除くとk-1, k+1が書かれたカードも消える 最大で何枚のカードを手で取り除けるか 解法 ソートして端から取り除くのが最善 (端以外から取り除くと1回で最大3枚消えるが端から順だと最…

SRM503 Div1 Easy - ToastXToast

問題 パンが数種類あり、各パンが固有の値Xを持ち、焼き時間がX未満のものをundertoasted、X超過のものをovertoastedと呼ぶ underのパンとoverのパンがいくつかあり、それらの焼き時間のリストが与えられる このリストに含まれるパンの種類数の最小値を求め…

SRM502 Div1 Easy - TheLotteryBothDivs

問題 [000000000,999999999]の10^9個の数字のうちどれか1つが書いてある宝くじを1枚適当に買う 与えられるvectorのうち1個以上のstringが買った番号のsuffixになっていれば当選する 当選する確率を求める 解法 例えば"1234" と "34"が与えられたら後者が前者…

SRM501 Div1 Easy - FoxPlayingGame

問題 0から始めて「xを足す」「yをかける」という操作を各a/b回好きな順番で行う 最後に得られる値の最大値を求める 解法 求める値は (((x+x+..+x)*y +x+..+x)*y +x+...+x)*y +... = x(y^k1 + y^k2 + ... + y^ka) (b>=k1>=k2>=...>=ka) こういう形になる yを…

SRM500 Div1 Easy - MafiaGame

問題 n人いてそのうち何人かは追い出したい人を決めている 最初は全員vulnerableな状態から始まり、以下の流れを繰り返す 1) 追い出したい人を決めている人たちは対象がvulnerableならそいつらに投票 2) 他の人たちは順番にvulnerableの人の中で今最も票が少…

SRM637 Div1 Easy - GreaterGame

問題 SnukeとSotheがカードをn枚ずつ、合計2n枚持っていて、各カードには1〜2nの数字が重複なしで書かれている この状態からnターンのゲームをする 各ターンではお互いにカードを1枚同時に出し、数字がより大きいカードを出した方が1点得る Sotheがiターン目…