MathLabs

第5問

nn 人が円形に座っている。合計 nknk 枚の硬貨が必ずしも均等でなく配られている。1回の操作では隣り合う二人の間で硬貨1枚を移す。全員の硬貨枚数を等しくする最小操作回数のアルゴリズムを求めよ。
ステップ 2/5: 前缀和ポテンシャルを定義する
X=∑i=1n−1∣∑j=1idj∣X=\sum_{i=1}^{n-1}\left|\sum_{j=1}^id_j\right|
詳しい解説

X=∑i=1n−1∣d1+⋯+di∣X=\sum_{i=1}^{n-1}|d_1+\cdots+d_i| と置く。did_i は全ての i,i+1i,i+1 と同値。辺 i<ni<n(ii)を越す操作は第 XX 前縁和だけを変えるため、 は1だけ変化する。