当前位置: 首页 > news >正文

网站建设优化安徽推广平台app

网站建设优化安徽,推广平台app,安全生产门户网站建设方案,中国建设银行网站官网下载数组的每个元素代表每个货物的重量,注意这个货物是有先后顺序的,先来的要先运输,所以不能改变这些元素的顺序。 要days天内把这些货物全部运输出去,问所需船的最小载重量。 思路: 数组内数字顺序不能变,就…

在这里插入图片描述

在这里插入图片描述

数组的每个元素代表每个货物的重量,注意这个货物是有先后顺序的,先来的要先运输,所以不能改变这些元素的顺序。
要days天内把这些货物全部运输出去,问所需船的最小载重量。

思路:

数组内数字顺序不能变,就相当于拿days-1个隔板,把数组隔成days个部分,
每部分求和,这些和的最小值就是最小载重量。

暴力方法的话需要每固定一个隔板,然后调节剩下的隔板,
找出每个隔板内数字和的最小值,需要O(n^days)的复杂度。

如果提前有一个值供参考的话就好多了,比如参考值是平均值sum/days,
但这个值是不靠谱的,因为每个重量都是整数,有时大有时小,可能就凑不出来平均值。

那有没有一种方法提供一个参考的载重量,然后在实际过程中可调节呢。
比如说小于这个载重量就装船,超过了就加一天,第2天再装船,
最后发现天数超过了days,说明这个载重量不够,要加大。
反之载重量可以进一步缩小。

那每次要加大多少,减小多少呢,肯定不是1。

假如我们知道最大可能的载重量,比如是Integer的最大值,
然后在0和最大值之间找一个载重量,
能在days内装船就缩小,把最大载重量调节到现在值,
不能装就把最小载重量调节到现在的值,

这个是不是似曾相识的binary search.

最大载重量设为Integer的最大值是不是有点浪费?
观察一下,如果days内要运送完,把days-1个隔板平均放到数组中,
每部分货物的个数是n/days,
而且weight[i] <= 500, 那每个货物就按最大的500算,
所以最大载重量就是500 * (n/days+1).

    public int shipWithinDays(int[] weights, int days) {int left = 0;int right = 500 * (weights.length / days+1);while(left < right) {int mid = left + (right - left) / 2;if(canShip(weights, mid, days)) {right = mid;} else {left = mid + 1;}}return left;}boolean canShip(int[] weights, int capacity, int totalDays) {int sum = 0;int days = 1;for(int weight : weights) {if(weight > capacity) return false;sum += weight;if(sum > capacity){days ++;if(days > totalDays) return false;sum = weight;}}return true;}
http://www.15wanjia.com/news/30015.html

相关文章:

  • 做it的网站有哪些山西网络推广
  • 云南建投第五建设有限公司网站重庆seo网络优化师
  • 慈溪企业网站seo百度一下电脑版首页
  • 成都网站建设 培训班营销网络是什么
  • 单县做网站地推推广方案
  • wordpress 跳回80端口电商seo是什么
  • 沭阳做网站好的怎么优化电脑系统
  • 宿迁做网站哪家好湖南知名网络推广公司
  • 专做冷冻食品批发的网站外贸网站制作公司
  • dw做的网站后台是什么广东短视频seo营销
  • 网站建设项目延期验收申请报告谷歌外链工具
  • 如何查看一个网站的浏览量如何创建一个app平台
  • 做一个网站怎么做数据库精准客源推广引流
  • 南宁网站建设策划方案论坛推广技巧
  • 建网站和开发软件哪个难大连最好的做网站的公司
  • 网页网站开发公司手机怎么建立网站
  • 手机上如何做网站应用市场
  • 如何建设网站兴田德润简介呢下载百度免费版
  • 宁夏做网站的全国各城市感染高峰进度查询
  • 小说类网站怎么做seo专业培训
  • 深圳网站建设 易通鼎关键词seo优化公司
  • 传媒的域名做个什么网站百度总部在哪里
  • 商城版免费网站制作seo项目
  • 周口做网站公司哪家好西安seo诊断
  • jsp b2c网站建设qq群推广方法
  • 北京网站设计网站公司网站模板平台资源
  • 给帅哥做奴视频网站地址北京seo课程培训
  • 潍坊网站建设推广公司网站模板中心
  • 博客做公司网站百度医生在线问诊
  • 扬州高端网站制作win10优化大师免费版