AtCoder, 数学

問題方針

場合分けを行います。

\( B \gt A\) のときこのとき、最初の昼にジュースを買うことができません。\( B \gt D \) かつ \( B \leq A\)のとき

このとき、供給量が消費量よりも小さいので、 ...

AOJ, データ構造

問題方針

配列を使って要素を削除していく方法は TLE となる可能性があるので、リング配列のポインタを考えます。

配列 \(prev \) の \( prev \) を 番号 \( i \) の後ろの番号、配列 \(next ...

CSA, 数学

問題

長さが \( N \) のリング状の配列 \( a \) の長さが \( K \) の部分配列の和がすべて等しくなるような操作回数の最小値を求めます。

方針部分配列の和円形の配列 \( a \) が与えられたとき、サイズ \ ...

AOJ, 幅優先探索, 探索

問題方針幅優先探索

チーズは硬さ \( 1 \) から \( N \) まで順番にとる必要があるので、\( 1 \) から \( 2 \) までの最短距離を計算し、次に \( 2 \) から \( 3 \) までの最短距離を計算するよう ...

AtCoder, 数学, 累積和

問題方針最大公約数の性質

関数 \( f(\cdot) \) を最大公約数を求める関数とします。ここで、\(f(x, y)\) は \( x, y \) の最大公約数とし、\( f(x, y, z) \) は \( x, y, z\) ...

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

問題方針半分全列挙

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

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

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

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

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

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

問題方針

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

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

AtCoder, 数学

問題方針連立方程式

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

\

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

AtCoder, 動的計画法

問題方針動的計画法

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

\ ...