AtCoder,整列

問題方針

\( 1 \) から \( N \) まで順番に交換ソートしていくことを考えます。自然数 \( i \) がどの場所にいるかという配列を管理することで効率よくソートできます。

コード#include <bits/s ...

AtCoder,周期性,文字列

問題方針

\( N \geq 4 \) について考えます。\( S \) に \( T \) が含まれる場合、\( T \) は、

\

のどれかである必要があります。これらは、\( 110, 101, 011\) ...

AtCoder,数学

問題方針

結論からいうと、\( 2 \) から \( N \) までの最小公倍数を \( l \) とすると、\( l + 1 \) となります。以下では、このように考えつかなかった場合を考えます。

\( N! + 1 \) ...

Codeforces,数学

問題方針

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

AtCoder,グラフ理論,周期性

問題方針

\( k \) 回シミュレーションを行うことはできないので、シミュレーションを高速化の考えます。\( k \) が十分大きければ、探索の過程で同じ単語を調べることになるので、閉路が存在することになります。下記の問題がこの問題と ...

Codeforces,全探索,数学

問題方針

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

\

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

Codeforces,ゲーム問題

問題方針

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

Codeforces,二分探索,数学

問題方針

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

\

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

\

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

AtCoder,周期性

問題方針

参加者が出す手は周期性を持ち、最初に出す手は周期 \( n \) で変わります。ここで、\( T_0 = ss \) とします。ここで、\( f(t) \) を文字列 \( t \) を出す参加者で勝利した文字列とします。\( ...

AtCoder,二分探索

問題方針

\( n + 1 \) の長さの丸太を切断することを考えます。

\

を満たす最大の \( m \) を求めると、\( n + 1 – m \) 本の丸太を買えば良いです。

コード#in ...