AOJ, 二分探索, 半分全列挙, 探索

問題方針半分全列挙

ダーツは最大で \( 4 \) 本投げることができますが、そのすべての得点パターンを列挙することは厳しいと思います。なので、\( 2 \) 本投げた時に得られる \( M \) 以下の得点のパターンをすべて列挙します ...

2部グラフ, AtCoder, グラフ理論

問題方針二部マッチング問題

基本的には、 GRL_7_A Bipartite Matchingと同じようにして解くことができます。

頂点は与えられますが、辺がどのようになっているかは自分で実装しなければいけません。赤い点のラ ...

2部グラフ, AOJ, グラフ理論

問題方針

2部マッチングの解説は、二部マッチングの解説を参照してください。二部グラフの最大マッチングを求めるアルゴリズムについては、蟻本の p. 197 のコードを利用します。

\( X \) の頂点と \( Y \) の頂 ...

AtCoder, 数学

問題方針連立方程式

問題文より、次の連立方程式が得られます。

\

\この連立方程式は、\( a_i + b_j = c_ {i, j}\) から得られます。この連立方程式が解を持つための条件は、係数行列 \( A \) ...

AtCoder, 動的計画法

問題方針動的計画法

\( dp \) をマス \( (i, j)\) におけるアメの所持数の最大値とします。マスの移動は右か下に行くかだけなので、下に行くことができるのは \( 1 \) 回だけとなります。したがって、

\ ...

AtCoder, ビット全探索, 探索

問題方針ビット全探索

ある曜日のどの時間帯に店を営業するかどうかで利益が変わり、\( 5 \) つの曜日と午前・午後を考えれば良いので、\( 2^{10} \) 通りのビット全探索を行えば良いことが分かります。

店の営業情報は \ ...

AtCoder, 累積和

問題方針最終的な形を考える

\( K \) 回までの指示をした時の文字列において、最大何個の 1 が連続して並んでいるかを問われているので、指示の順番を考慮する必要がないことが分かります。つまり、最終的な形がどのようになるかを考えればよ ...

AtCoder, 数学

問題方針\( n \) 回目で操作が終了する確率

ある試行で操作が終了する確率は、

\

となります。また、ある試行で操作が終了しない確率は、\( q = 1 – p\) となります。\( n \) 回 ...

CSA, 幅優先探索, 探索

問題問題の意図

頂点数が \( N \) 個で辺の数が \( M \) 本の無向グラフが与えられます。始点 \( S \) から終点 \(A, B \) への最短経路において、同じ辺を通る長さの最大値を答えます。また、辺の重みは \( ...

AtCoder, ビット全探索, 動的計画法, 探索

問題方針ある高さの正しい横棒の配置

ある高さの横棒の配置のパターンを考えます。横棒は縦棒の間に置くことができるので、縦棒の本数 \( W \) が \( W = 1 \) のときは横棒を置くことができません。そうではないとき、縦棒の間に ...