MathLabs

第5問

nn 人が円形に座っている。合計 nknk 枚の硬貨が必ずしも均等でなく配られている。1回の操作では隣り合う二人の間で硬貨1枚を移す。全員の硬貨枚数を等しくする最小操作回数のアルゴリズムを求めよ。
ステップ 3/5: ポテンシャルを減らす操作を選ぶ XX
di+1<0,d1+⋯+di>0d_{i+1}<0,\qquad d_1+\cdots+d_i>0
詳しい解説

di+1<0d_{i+1}<0 となる最初の ii を取る。前縁和 d1+⋯+did_1+\cdots+d_i が正なら、人 ii から i+1i+1 へ硬貨を移す。絶対値が1減り他の項は変わらない。正でなければ極小性から d1=⋯=di=0d_1=\cdots=d_i=0。