メモ帳がわり

個人的なメモを残します。主に競プロ

動的計画法

【ABC183】E - Queen on Grid

atcoder.jp 解法 問題を見てすぐに下のようなDPが思い浮かんだ。 dp[i][j] ← (i, j)へ行く場合の数 ただ、愚直に遷移しようとすると1つのマスにつき、H+W回ぐらいの遷移が必要になるのでこれでは間に合わない。 手を動かして、DPテーブルがどのような値をと…

【ABC180】E - Traveling Salesman among Aerial Cities

atcoder.jp bitDPについて初めて学んだのでメモしておく。 bitDPとは? 下の記事たちがわかりやすい。 algo-logic.info qiita.com 解法 巡回セールスマン問題であることが制約や問題名から読み取れる。 この問題の説明は下の記事でもされているので省く。 al…

【ABC154】E - Almost Everywhere Zero

atcoder.jp 解法 参考: 桁DPについて nizi-24.hatenablog.com 桁DPをしよう。 dp[i][smaller][k] ← i: 上から何桁目まで確定しているか、smaller: 未満フラグ、k: 今までに何個0以外の数字が登場したか 遷移するときには、0かどうかで場合分けすればよい。 …

【TDPC】E - 数

atcoder.jp 桁DPの問題。初めて桁DPについて学んだので記事にします。 桁DPとは? ・N以下の自然数で条件を満たすものは何通りか? ・N以下の自然数で条件を満たすものの中で最大のものはいくつか? みたいな問題で活躍するアルゴリズムです。 説明は少し複…

【ABC179】 D - Leaping Tak

atcoder.jp 解法 ぱっと見、部分和問題かなと思うが、O(N2)になってしまうため間に合わない。 他の方法を考えてみると、 ・なぜか区間が与えられている ・Kが小さい ・区間は共通部分を持たない と怪しい部分がたくさんあることに気づく。 区間を利用して高…

【ABC184】D - increment of coins

atcoder.jp 解法 再帰によって条件を満たすそれぞれの確率を求めようとすると、3100以上の計算量が必要になる場合がある。 愚直に解こうとすると指数時間になってしまう場合、DP(メモ化再帰)が有効になる場合は良くある。 そこで、3つの硬貨の数の取りうる場…