[AtCoder] ABC 131 D – Megalomania
締め切り時刻である \( B \) の値が小さいものから仕事を終わらせていくシミュレーションを行います。ある仕事が終わった時の時刻を \( t \) とすると、次に取り掛かる仕事 \( i \) が、\( t + A_i \l ...
[AtCoder] ABC 131 C – Anti-Division
範囲内の \( C \) かつ \( B \) で割り切れるものの数を求めて、全体から引けばよいです。どのように求めるかというと、範囲内の \( C\) と \(D \) の倍数の個数から \( C, D \) の最小公倍数の ...
[AtCoder] ABC 130 D – Enough Array
連続する部分列に関する問題は尺取り法の適用を考えます。尺取り法については、しゃくとり法 (尺取り法) の解説と、それを用いる問題のまとめを参照してください。
尺取り法の左側のインデックスを \( l \)、 ...
[AtCoder] ABC 130 C – Rectangle Cutting
長方形の重心と任意の点を結ぶ直線は長方形の面積を半分に分割します。任意の点が \( x = \dfrac{W}{2} \wedge y = \dfrac{H}{2} \) のとき、直線は \( 2 \) つ以上あり、そうではな ...
[AtCoder] diverta 2019 Programming Contest 2 B – Picking Up
ボールの各座標を位置ベクトルとして、 \( \vec{v}_i = (x_i, y_i) \) と表すことにします。\( p, q \) の候補は、任意の二つの位置ベクトルの差分とし ...
[yukicoder] No. 838 Noelちゃんと星々3
\( Y \) を昇順にソートさせてから考えます。
コストの計算\( N = 2 \) のときは、どちらの高さに揃えてもコストは変わりません。\( N = 3 \) のときは、\( Y_2 \) に揃えることが最適 ...
[yukicoder] No. 837 Noelちゃんと星々2
配列 \(a \) に対して、次の関数を最小化することを考えます。
\
答えから言うと、\( x \) が \( a \) の中央値のとき最小となります。証明は下のサイトから参照で ...
[AtCoder] CODE THANKS FESTIVAL 2018 C – Pair Distance
交流コストを \( c \) と置くと、
\
となります。このシグマの計算回数は、\( \dfrac{N(N – 1)}{2}\) となり、\( N \) 人から \( 2 \) ...
[Codeforces] Codeforces Round #566 (Div. 2) B. Plus from Picture
与えられた入力が十字の形をしているかどうかを答えます。十字の形とは、
中心となるセルは一つ中心から上下左右にそれぞれ一つ以上のセルが存在する
上記以外のセルは存在しない
を満たすものです。 ...
[AtCoder] ABC 129 D – Lamp
グリッドの問題は行と列を分けて考えることができるかを最初に考えます。この問題も行と列を分けて考えることができます。\( i \) 行 \( j \) 列のマスを \( c(i, j) \) とします。ここで ...