ツバサの備忘録

主に備忘録代わりに精進記録を載せていくつもりです。

メモ化再帰

AOJ 1176 - 輪番停電計画

問題 提出コード 解法 はじめに、2次元累積和を用いて、ある長方形の範囲の需要の合計をで求めることができるようにしておきます。 ここから、DPを行います。 長方形の左上が,右下がとなるような範囲のグループの分け方の最適解 とします。最適解、なのでグ…

AOJ 2741 - インビジブル

問題 提出コード 解法 ゲーム系で、ぱっと貪欲な解法がなさそうだったので、メモ化再帰をすることにしました。6次元DPです。 とし、それぞれの添え字が 先手が次にスタックにカードを置くとき上から何枚目のカードを置くか 後手が次にスタックにカードを置く…

AOJ 1175 - そして,いくつになった?

問題 提出コード 個人的にICPCの中でも結構好きな部類の問題です。 解法 今回もc言語です。 メモ化再帰をしていきます。 円盤の枚数はたかだか24で、状態としては”残っている”か、”取り去られている”の2通りです。なので、全体で種類の状態が存在しますが、…

ABC008 C - コイン,D - 金塊ゲーム

C - コイン 提出コード 重要なのは、あるコインについて、その数字の約数となっているコインが左側にどれだけあるか、です。 なので、それぞれのコインについて、その数字の約数となっているコインの枚数をまず数えておきます。 あとは、それぞれのコインに…

AOJ 1302 - Twenty Questions

大学の課題で当時解けなかったシリーズその2です(これで終わり)。 その1はこちら Twenty Questions | Aizu Online Judge 提出コード 一言でいうならアキネーターです。 n種類の物を、m種類の質問(yes/noで答える質問です)で見分けるための最小手数を求めます…

Mujin Programming Challenge 2018

目標は200位でした。レート順400位ぐらいだったので運次第、と思ってました A - コンテスト名 提出コード 頭が真っ白になったので素直に全部書き出しました。与えられる文字の長さがそもそも5に満たない場合の条件を途中まですっかり書き忘れていたので危な…