AtCoder,全探索,数学

問題方針

人数が \( N \) の約数であるとき平等に分けることができるので、約数の列挙を行います。 \( N \bmod x = 0 \) であるとき、\( x \) は \( N \) の約数となるので、\( 1 \leq x \ ...

AtCoder,全探索,累積和

問題方針

長方形の和は二次元の累積和を使うことで高速に求めることができるので、全ての長方形のパターンを計算し、\( i \) 個のたこ焼きを焼くときの最大値 \( d(i) \) を求めます。\( d(j) > d(i) \ (j ...

AtCoder,全探索,数え上げ,数学

問題方針\( A, B \) を全探索

\( A, B \) を全探索します。\( A \) を固定した時、\( A \times b \geq N \) となるような \( b \) より大きいものを探索する必要はありません。 ...

AtCoder,全探索,動的計画法

問題方針

ショートカットは冗長に選んだとしても \( 4^4 \) 通りなので、全てのショートカットの組み合わせに対して必要なボタンの入力回数を求めます。ここで、\( d(i, 0) \) を \( i \) 文字をショートカットを使わ ...

AtCoder,全探索

問題方針

中心座標の候補は最大でも \( 10000 \) 個なので、中心座標に関して全探索します。\( h_i \neq 0 \) であるとき、

\begin{eqnarray}
h_i &=& H ...

AtCoder,全探索,数学

問題方針非負整数解の個数

非負整数 \( x, y, z \) が

\

を満たすとき、\( x, y, z \) の組み合わせは、\( {}_{n} \mathrm{ H }_{2} = {}_{n + 1} \ ...

Codeforces,全探索,数学

問題方針

配列 \( a \) を入れ替えて得られる配列を \( b \) とします。ここで、\( g(a, b) \) を \( a, b \) の最大公約数とします。次に配列 \( c \) の \( i \) 番目の要素を ...

Codeforces,全探索,数学

問題方針

数列 \( a_n \) は等差数列なので、初項を \( a \)、公差を \( d \) とすると、\( a_n = a_1 + (n – 1)d\) となります。したがって、\( i < j \) とし、 ...

Codeforces,全探索,数学

問題方針

配列 \( a \) を昇順に並び替えて考えます。自然数 \( x \) を選んだ時のコストを \( f(x) \) とすると、

\

となります。ここで、\( x = (f(1) + a_{n-1})^ ...

Codeforces,全探索,数学,貪欲法

問題問題の解釈

許容重量 \( p \) のリュック1と許容重量 \( f \) のリュック2があります。重さが \( s \) と \( w \) のモノがそれぞれ \( a \) 個と \( b \) 個あるとき、二つのリュックに入 ...