[AtCoder] ABC 180 C – Cream puff
人数が \( N \) の約数であるとき平等に分けることができるので、約数の列挙を行います。 \( N \bmod x = 0 \) であるとき、\( x \) は \( N \) の約数となるので、\( 1 \leq x \ ...
[AtCoder] ABC 005 D – おいしいたこ焼きの焼き方
長方形の和は二次元の累積和を使うことで高速に求めることができるので、全ての長方形のパターンを計算し、\( i \) 個のたこ焼きを焼くときの最大値 \( d(i) \) を求めます。\( d(j) > d(i) \ (j ...
[AtCoder] ABC 179 C – A x B + C
\( A, B \) を全探索します。\( A \) を固定した時、\( A \times b \geq N \) となるような \( b \) より大きいものを探索する必要はありません。 ...
[AtCoder] ARC 002 C – コマンド入力
ショートカットは冗長に選んだとしても \( 4^4 \) 通りなので、全てのショートカットの組み合わせに対して必要なボタンの入力回数を求めます。ここで、\( d(i, 0) \) を \( i \) 文字をショートカットを使わ ...
[AtCoder] ABC 112 C – Pyramid
中心座標の候補は最大でも \( 10000 \) 個なので、中心座標に関して全探索します。\( h_i \neq 0 \) であるとき、
\begin{eqnarray}
h_i &=& H ...
[AtCoder] ABC 178 D – Redistribution
非負整数 \( x, y, z \) が
\
を満たすとき、\( x, y, z \) の組み合わせは、\( {}_{n} \mathrm{ H }_{2} = {}_{n + 1} \ ...
[Codeforces] Codeforces Round #669 (Div. 2) B. Big Vova
配列 \( a \) を入れ替えて得られる配列を \( b \) とします。ここで、\( g(a, b) \) を \( a, b \) の最大公約数とします。次に配列 \( c \) の \( i \) 番目の要素を ...
[Codeforces] Codeforces Round #667 (Div. 3) C. Yet Another Array Restoration
数列 \( a_n \) は等差数列なので、初項を \( a \)、公差を \( d \) とすると、\( a_n = a_1 + (n – 1)d\) となります。したがって、\( i < j \) とし、 ...
[Codeforces] Codeforces Round #666 (Div. 2) B. Power Sequence
配列 \( a \) を昇順に並び替えて考えます。自然数 \( x \) を選んだ時のコストを \( f(x) \) とすると、
\
となります。ここで、\( x = (f(1) + a_{n-1})^ ...
[Codeforces] Educational Codeforces Round 94 (Rated for Div. 2) B. RPG Protagonist
許容重量 \( p \) のリュック1と許容重量 \( f \) のリュック2があります。重さが \( s \) と \( w \) のモノがそれぞれ \( a \) 個と \( b \) 個あるとき、二つのリュックに入 ...