AtCoder, 数学

問題方針

長方形の重心と任意の点を結ぶ直線は長方形の面積を半分に分割します。任意の点が \( x = \dfrac{W}{2} \wedge y = \dfrac{H}{2} \) のとき、直線は \( 2 \) つ以上あり、そうではな ...

AtCoder, 全探索, 探索

問題方針\( p, q \) を固定して全探索を行う

ボールの各座標を位置ベクトルとして、 \( \vec{v}_i = (x_i, y_i) \) と表すことにします。\( p, q \) の候補は、任意の二つの位置ベクトルの差分とし ...

AtCoder, 数学, 累積和

問題方針交流コスト

交流コストを \( c \) と置くと、

\

となります。このシグマの計算回数は、\( \dfrac{N(N – 1)}{2}\) となり、\( N \) 人から \( 2 \) ...

AtCoder, Union Find, グラフ理論

問題方針行と列を分けて考える

グリッドの問題は行と列を分けて考えることができるかを最初に考えます。この問題も行と列を分けて考えることができます。\( i \) 行 \( j \) 列のマスを \( c(i, j) \) とします。ここで ...

AtCoder, 動的計画法

問題方針動的計画法

今の状態が次の状態に影響するような問題は、動的計画法を使って解くことができます。

\( d_i \) を \( i \) 段目までの移動方法とします。初期値として、\( d_0 = 1 \) とします。ま ...

AtCoder, 数学

問題方針排他的論理和の性質\( \mathrm{XOR} \) を \(\oplus\) で表すとします。

まず排他的論理和の性質として次の二つがあります。

\( 0 \oplus x \ = x \)
\( x \opl ...

AtCoder, 実装

問題方針得られる数列の候補

\( N \) 回の操作で得られる数列の候補を考えます。\( i \) 回目の操作で \( j = i \) としたときに得られる数列は、\( 1, 2, \cdots, N \) となります。よって、\( ...

AtCoder, 数学

問題方針拡張ユークリッドの互除法

\( d = 10^9 + 7 \) とします。

\

上記を満たすような \( R \) をどのように求めるかですが、次の方程式を考えます。

\

ここで、 ...

AtCoder, 数学

問題方針\( p \) を計算するある人があるの色に投票する確率は色によって変わらないので、この確率を \( a \) とすると、\となります。色 \( i \) に \( r_i \) 票集まる確率が \( p \) なので、どのくらい票 ...

AtCoder, 探索

問題方針題意

良いグリッドであるときのマスの状況は、必ず \( 3 \) 色に塗り分けられています。ここで次の集合を考えます。マス \( (i, j) \) に対して、 \( G_k\) は \( i + j \mod 3 = k\) ...