新街道上总共有n栋公寓楼。邮政服务希望在街道上放置一个邮箱。他们的目标是尽量减少居民每天必须走路以收集邮件的总距离。
建筑物我有r [i]居民,并且从一开始就在距离d [i] 街道。设计一种算法,计算从街道的起点到邮箱的距离为m,最小化居民前往邮箱的距离总面积。
我的计划是根据距街道起点的距离对建筑物进行分类。然后,找到居民总数并计算中位数。然后将邮箱放置在建筑物上,该建筑物对应于居民的中位数。这是解决问题的正确方法吗?
答案 0 :(得分:3)
您希望最小化:
@JacksonXmlRootElement(localName = "response")
解决这个问题,区别于m:
sum(r[i](m-d[i])^2)
找到最小值,将导数设置为0:
sum( 2.r[i].(m-d[i]) )
即。 m是距离的加权平均值。
(如果你想最小化绝对距离的总和,则答案将由中位数给出。)