1 条题解
-
0
何老师 (root) LV 0 MOD @ 2022-07-13 16:57:10
设 p=tot/n 即每个最后金币数;
假设 1 号给了 n 号 t 枚金币,则每个人转手硬币数表示为:
1->n: |t|
1->2: |(a[1]-p)-t|
2->3: |(a[2]+a[1]-2p)-t|
3->4: |(a[3]+a[2]+a[1]-3p)-t|
……
n-1->n: |(a[n-1]+..+a[1]-(n-1)*p)-t |设 sum[i]=a[1]+a[2]+...+a[i],
再设 b[i]=a[1]+a[2]+..+a[i]-i*p,即 b[i]=sum[i]-i*p,则有:移动金币总数为:|b[0]-t|+|b[1]-t|+...+|b[n-1]-t| 显然要使这个式子胡值最小,则t取b[0],b[1],…,中位数即可!
- 1