Codeforces に関するカテゴリーです。

Codeforces,ゲーム問題

問題方針\( n \) が奇数であるとき

\( n \) が素数であるとき Bob の勝利は自明です.\( n \) が素数でないとき, \( n \) の約数の中から奇数 \( p \) を選んだとき,奇数 \( q \) を用いて, ...

Codeforces,整列,貪欲法

問題方針

\( h \) を昇順に整列させて考えます.\( h_{i + 1} -h_{i} \) を最小化する最小の \( i \) を \( j \) とします.ここで,\( h_j \) を先頭にして,\( h_{j+1} \) ...

Codeforces,数学

問題方針

バレットに水を偶数回注いだときのバレットの温度は

\

であり,非負整数 \( n \) を用いて, \( 2n + 1 \) 回水を注いだときのバレットの温度は

\

となります. ...

Codeforces,尺取り法,整列

問題方針

\

\( (1)\) を満たすような \( a_i, a_j, a_k \) は、\( i, j, k \) を交換することによって、\( i < j < k \) を満たすことができます。つまり、\( ...

Codeforces,全探索,累積和

問題方針

高さが \( k \) の木を作れるかどうかは、連続する ‘*’ の数が分かればいいので、連続する ‘*’ を累積和を用いて数えます。あるマスから下に向かって順番に高さ \( k ...

Codeforces,実装

問題方針

市松模様はマス \( i, j \) の色を \( (i + j) \bmod 2 \) の値で分けていますが、この問題では \( (i + j) \bmod 3 \) の値で分けるようです。整数 \( k\) を \( k ...

Codeforces,数学

問題方針

まず初めに、\( a_1 \) に対して操作する必要はありません。\( a_1 \) に対して操作を行うということは、全ての配列に対して \( 1 \) を加算または減算をするためです。操作の前に配列の値を変えない場合に必要な ...

Codeforces,全探索,数学

問題方針

排他的論理和の問題です。最上位のビットが同じ \( 1 \) である自然数を \( a_{i}, a_{i + 1}, a_{i + 2} \) とすると、

\

となります。配列 \( a \) の連続 ...

Codeforces,ゲーム問題

問題方針

自分の勝利の最大化が一番優先されるので、ボブの勝利数が \( y \) となるかを考えます。もしアリスのサーブを全て返さずに、アリスのスタミナが \( 0 \) となったとき、ボブとアリスの勝利数は、\( x, y \) とな ...

Codeforces,二分探索,数学

問題方針

\( t \) 回のジャンプで行くことができる最大の点は

\

となります。ここで、自然数 \( t \) を

\

を満たす最小の \( t \) とします。このとき今いる座標がち ...