バイトの競プロメモ

主に競技プログラミング

不変量

AtCoder Beginner Contest 307 G - Approximate Equalization

G - Approximate Equalization メモ 差分だけが重要なので、各Aiについて Ai -= min(A)としていい すると任意の値が0以上の整数になる。 また、この操作において合計は不変であるため 最終的なすべての合計はsa := sigma(A)になる 最終的な数列としてあらわ…

AtCoder Regular Contest 159 C - Permutation Addition

C - Permutation Addition メモ 不変量について考えたい。 こういう時(何かを足していってそれぞれの値を合わせる時とか)は 全体の合計に注目するといいことが多い気がする。 どういう操作をしても不変なものを考えると どう足しても一回で増える和は同じ…

AtCoder Regular Contest 155 C - Even Sum Triplet

C - Even Sum Triplet 考えたこと 各操作についてその操作を打ち消すような逆の操作ができるため A, Bをそれぞれ操作して同じ列を作れるか判定する問題だと思っていい まず、ABをソートしても一致させられない場合はNo 1が2個か、0が3つの時に並び変えられる…

AtCoder Regular Contest 158 A - +3 +5 +7

A - +3 +5 +7 メモ 問題を言い換えると X, Y, Zが与えられて これらに0, 1, 2の順列を足してすべての合計を同じにする操作回数の最小化を求める問題になる 簡単のためにX<=Y<=Zとすると Z-X, Z-Y, 0 足していって差が上になるようなものを作れるか考える 以…