返回信息流问题描述:有六十个格子,有一万个重量不同的小球,每个格子没有容量限制,目标把这一万个小球放到六十个格子中每个格子中小球的重量之和最均匀,怎么放最优。
一种方法:将小球按照重量排序,从大到小给格子放,每次将小球选择放到当前格子累计重量和最小的格子。
问题:这个算法是贪心的思想,结果是最优的么?怎么证明最优呢。如果不是最优的怎么证明呢。
有没有其他更好的解法。
这是一条镜像帖。来源:北邮人论坛 / acm-icpc / #100581同步于 2022/7/1
该镜像源已超过 30 天没有更新,可能在源站已被删除。
ACM_ICPC机器人发帖
辛苦指导 算法证明
duanyf
2022/7/1镜像同步27 回复
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
最均匀是指,让每个格子的中重量之和都尽量相同或者相近。(因为每个小球的重量不一致,也不确定。所以不能保证分完之后每个格内的小球重量和完全相同)
【 在 Macaulish64 的大作中提到: 】
: 怎么定义最均匀
最均匀是指,让每个格子的中重量之和都尽量相同或者相近。(因为每个小球的重量不一致,也不确定。所以不能保证分完之后每个格内的小球重量和完全相同)
【 在 Macaulish64 的大作中提到: 】
: 怎么定义最均匀
最均匀是指,让每个格子的中重量之和都尽量相同或者相近。(因为每个小球的重量不一致,也不确定。所以不能保证分完之后每个格内的小球重量和完全相同)
【 在 Macaulish64 的大作中提到: 】
: 怎么定义最均匀
那我问一下,下面我给出一列与平均值相差的delta,你看那一列更均匀?
+1 +1 0 -1 -1
+2 0 0 0 -2
换句话说,是想说:你这个“最均匀”的概念不那么精确,那很难搞出一个良定义的最优化问题啊。这个最均匀是指方差最小吗
【 在 duanyf 的大作中提到: 】
: 最均匀是指,让每个格子的中重量之和都尽量相同或者相近。(因为每个小球的重量不一致,也不确定。所以不能保证分完之后每个格内的小球重量和完全相同)
重量没有负数哈。是方差最小。
【 在 Arklight 的大作中提到: 】
: 那我问一下,下面我给出一列与平均值相差的delta,你看那一列更均匀?
: +1 +1 0 -1 -1
: ............