【发布时间】:2017-07-21 06:11:18
【问题描述】:
一共有 n 栋公寓楼即将在一条新街道上建成。邮政服务想在街上放置一个邮箱。他们的目标是最大程度地减少居民每天领取邮件所需步行的总距离。
建筑物 i 有 r[i] 个住户,距离 d[i] 街道。设计一种算法,计算从街道起点到邮箱的距离 m,以最小化居民前往邮箱的总距离平方。
我的计划是根据与街道起点的距离对建筑物进行分类。然后,求居民总数并计算中位数。然后将邮箱放置在与居民中位数相对应的建筑物中。是不是正确的解决方法?
【问题讨论】:
-
没有。拿一张方格纸并标记 x 和 y 轴。将邮箱放在街道的尽头。计算居民必须步行到邮箱的总(加权)平方和。在你的方格纸上标记一个点
(0,y(0))。将邮箱移动十分之一距离到街道的另一端。在图表上标记(0.1,y(0.1))的一个点。一直重复到街道的另一端。你刚刚画了一条有点像抛物线的曲线。你的任务是找到x的值,它使y最小化。 -
如何根据
r[i]^2 * d[i]^2的值进行排序,因为这是目标最小值,然后选择该数组的中值?简而言之,您希望最小化看起来的加权平方距离。
标签: algorithm