这是什么算法?分发有限资源的最佳方式

smg*_*smg 7 algorithm computer-science

我最近在编程挑战中看到了这个问题,我想知道哪个着名的CS算法很像.我实施了原油解决方案.我知道必须有更好的方法来做到这一点,但我不确定要搜索的术语.这似乎是背包问题的一个变种......但是有足够的差异,我有点难过.

问题:

有3个城市(A,B,C)有人口(100,100,200).你可以建4所医院.建立医院,以便最大限度地减少访问每个医院的人数.

在这个例子中,答案是:A中的1,B中的1和C中的2.这意味着每个医院服务100人(最佳解决方案).

例如,如果您将医院分配为A中的1,B中的2和C中的1,则您将平均(100,50,200),这给您最差200(不是最佳解决方案).

谢谢.

附录:

  • 为了简化问题,医院的#将永远是>=城市的#.每个城市至少应该有一家医院.

Dij*_*aaf 4

  1. 为每个城市分配一家医院
  2. 当医院离开时
  3. 计算出每个城市的人口与医院的比率
  4. 将医院分配给比率最高的医院
  5. 环形