きろく

特筆すべき記録のまとめ

2018-12-20から1日間の記事一覧

AtCoder Grand Contest 003:C - BBuBBBlesort!

問題 解法 解答 問題 atcoder.jp 解法 連続する3つの要素を逆順にする操作は真ん中の要素を挟んでいる2つの要素を swap することと同じなので,A の奇数番目の要素と偶数番目の要素それぞれがソートされる.なので,ソートされた後の A で奇数番目の要素で…

codeFlyer (bitFlyer Programming Contest):C - 部分文字列と括弧

問題 解法 解答 問題 atcoder.jp 解法 '(' を +1,')' を -1 として累積和 imos を取った時,当てはまる (i, j) の組は imos[i] == imos[j] - 1 imos[k] >= imos[j] - 1 (i <= k <= j) を満たしていればよい.1つ目の条件にあてはまる (i, j) の組を std::m…

「みんなのプロコン 2018」:C - 駆引取引

問題 解法 解答 問題 atcoder.jp 解法 dp1(b, i) := 今残っている商品が b で,財宝を i 個売却した時に商品を買って取引を終了する場合,得られる最大のスコア dp2(b, i) := 今残っている商品が b で,財宝を i 個売却した時に得られる最大のスコア の2つ…

第4回 ドワンゴからの挑戦状 予選:C - Kill/Death

問題 解法 解答 問題 atcoder.jp 解法 A チームでの総 kill 数は B チームでの総 death 数になり,その逆もそうなる.チーム内で同じ kill 数を1グループとしてみると,グループ内で death 数を分割すると考えられるので,分割数のアルゴリズムを使える.あ…

AtCoder Beginner Contest 061:D - Score Attack

問題 解法 解答 問題 atcoder.jp 解法 頂点 1 から N へのスコアを最大化するパス上に閉路があるならば,スコアを無限に大きくできる.これをベルマンフォード法を用いて調べればよい.辺のコストの符号を逆にすることでスコアを最大化できる.O(NM). 解答 …