酒厂选址

该问题描述了一个寻找啤酒厂最佳选址的数学模型,目标是最小化每日的啤酒运输费用。给定城市数量、城市间的距离和各城市啤酒需求,需要设计程序计算最小日运费。输入包括城市数量、相邻城市距离和各城市消费量,输出为最小运费。样例显示在5个城市的情况下,建在城市2能实现最低的21元日运费。解决方案涉及中位数概念和避免超时的算法设计。
摘要由CSDN通过智能技术生成

【问题描述】

  某岛的居民酷爱一种无酒精啤酒。以前这种啤酒都是从波兰进口,但今年居民们想建一个自己的啤酒厂。岛上所有城市都坐落在海边,并且由一条沿海岸线的环岛高速路连接。酒厂的投资者收集了关于啤酒需求量的信息,即每天各城市消费的啤酒桶数。另外还知道每相邻城市之间的距离(单位:千米),另外还知道每桶啤酒每千米的运费是1元。日运费是将所需的啤酒运到所有城市所需费用之和。日运费的多少和啤酒厂的选址有关系。投资者想找到一个合适的城市来修建酒厂。以使日运费最少。

  任务:请设计一个程序,读入城市的数目、相邻两城市间的距离以及每个城市消费啤酒的桶数,计算和输出最小的日运费。

【输入格式】

  第1行:一个整数N,表示城市数量。城市沿环岛高速编号,所以相邻两城市的编号也是相邻的(城市1和城市N被认为是相邻的)。
  以下N行,每行两个非负整数。第i+1行的数Zi和Di分别是第i个城市每天消费啤酒桶数和到下一个城市的距离(千米)。环岛高速的总长不超过1000000千米。每座城市的日消费量不超过1000桶。

【输出格式】

  一个整数,表示日运费的最小值。

【输入样例】

5
1 2
3 2
2 6
1 3
2 2

【输入样例解释】
  样例给出的图形如下,其中黑色数字表示城市编号,括号里的蓝色数字表示该城市的消费,红色数字表示相邻城市之间的距离。
     这里写图片描述
     

【输出样例】

21

【输出样例解释】
  酒店可建设在城市1、城市2、城市3、城市4、城市5的日运送费用计算如下表:
这里写图片描述

  所以,酒厂建在城市2时,日运送费用最少,为21。

【数据范围】

  对于50%的数据有:5<=N<=5000
  对于100%的数据有:5<=N<=100000,环岛高速的总长不超过1000000千米。每座城市的日消费量不超过1000桶。

很容易看出这是一道中位数的题,我们也容易想到要破环,但重点就在于不能超时(所以不能用暴力)。我们会发现每次破环后,中位数是只往后退&

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值