AtCoder,貪欲法

問題方針

\( i \) 番目の勇者が \( i \) 番目のモンスターを可能な限り倒し、\( i + 1 \) 番目のモンスターを可能な限り倒します。これを \( 1 \) 番目の勇者から順番にシミュレーションします。

コード# ...

AtCoder,数学

方針方針座標から三角形の面積を求める

有名な公式として、点 \( O = (0, 0), A = (x_1, y_1), B = (x_2, y_2)\) において、三角形 \( OAB \) の面積 \( s \) は、

...

AtCoder,二分探索,動的計画法,探索

問題方針広義単調減少部分列

\( A_1 \geq A_2 \geq \cdots \geq A_i \) となるような広義単調減少列に対して、\( i \) 個の色が必要であることが分かります。これは、連続しない部分列に対しても言える ...

AtCoder,実装

問題方針最後の箱から調べる

後ろの箱からボールを入れることを考えると、その箱以降の倍数の個数は変化しないことが分かります。

例えば、\( i < \dfrac{N}{2} \) を満たす \( i \) の倍数は、\( ...

AtCoder,整列

問題方針

\( A \) を昇順に整列させた配列を \( B \) とすると、\( B_N \) は \( A \) の最大値となります。\( A_i \) を取り除いた配列の最大値は、\( A_i = B_N \) ならば、\(B_{ ...

AtCoder,数学

問題方針方程式を立てる

\( N = 2n + 1 \) として考えます。

山 \( i \) に降った雨の量を \( x_i \) とします。このとき、

\

となります。よって、\( S_{2n+1 ...

AtCoder,数学

問題方針

区間 \( \) を全探索する必要はなく、\( \) の範囲を調べればよいです。これは、

\

という関数を考えると、\( 0 \leq f(x) \leq 2018 \ (L \leq x \leq L ...

AtCoder,動的計画法,桁DP

問題方針桁DP

\( n \) 以下の数字の中で \( 4 \) または \( 9 \) を含まない数の個数を求めます。\( d_{i, 0} \) を上位 \( i \) 桁目まで調べたとき、\( 4 \) または \( 9 \) を ...

AtCoder,幅優先探索,探索

問題方針ステップ数が \( 3 \) の最短距離の探索

例えば、ステップ数が \( 3 \) の最短経路の探索では、スタート地点から \( 3 \) ステップ目で到達可能な頂点を距離 \( 1 \) で到達可能な頂点とします。また、この ...

AtCoder,数学

問題方針

赤いボールの個数を \( a = N – K \) とします。まず初めに、青いボールを一列に並べておきます。

\( i \) 回操作するために必要なボールの冗長でない置き方\( i = 1 \) のとき

...