题目:


题解:

思路:二分法


关于如何想到使用二分时间t呢?

  • 首先题目说的是给定一个时间 t,然后求每辆公交车可以在这个时间t内能完成的旅途数,用t/a[i]来表示第i辆公交车在时间t内能完成的旅途数。显然时间 t 越长,每辆车在时间 t 内完成的旅途数越多,当然可以使用 二分 来寻找大于等于 tot 个旅途数的最少时间了。

关于二分的上下界:

  • 由于我们至少需要1个时间来完成至少一次旅途,因此下界为 1;而对与二分查找的上界,出于对方便计算的考虑,可以将花费时间最长的公交车完成 tot 躺旅途的时间作为上界,而对于本题的数据范围可知,上界为 1e7*1e7 了。

代码如下:

using LL = long long;
class Solution {public:// 思路:二分寻找使n辆公交车能完成tot个旅途的最少时间long long minimumTime(vector<int>& a, int tot) {// 二分的下界为1:表示至少需要1个时间来至少1躺旅途;二分的上界为max(a)*tot:表示将花费时间最长的公交车完成tot躺的时间LL l=1,r=1e14+10;while(l<r){LL mid=(l+r)>>1;LL sum=0;for(int x:a){sum+=(mid/x);}if(sum>=tot)r=mid;else l=mid+1;}return l;}};

[二分法]leetcode2187:完成旅途的最少时间(medium)相关推荐

  1. leetcode2187. 完成旅途的最少时间(mid)(282)

    完成旅途的最少时间 代码 力扣链接 代码 class Solution {public long minimumTime(int[] time, int totalTrips) {long l = 1 ...

  2. LeetCode 2187. 完成旅途的最少时间(二分查找)

    文章目录 1. 题目 2. 解题 1. 题目 给你一个数组 time ,其中 time[i] 表示第 i 辆公交车完成 一趟旅途 所需要花费的时间. 每辆公交车可以 连续 完成多趟旅途,也就是说,一辆 ...

  3. 力扣 6010. 完成旅途的最少时间

    题目 给你一个数组 time ,其中 time[i] 表示第 i 辆公交车完成 一趟旅途 所需要花费的时间. 每辆公交车可以 连续 完成多趟旅途,也就是说,一辆公交车当前旅途完成后,可以 立马开始 下 ...

  4. LeetCode-完成旅途的最少时间

    题目 给你一个数组 time ,其中 time[i] 表示第 i 辆公交车完成 一趟旅途 所需要花费的时间. 每辆公交车可以 连续 完成多趟旅途,也就是说,一辆公交车当前旅途完成后,可以 立马开始 下 ...

  5. 活动图求最少时间和松弛时间

    一.介绍 PERT(Program/Project Evaluation and Review Technique)即计划评审技术,PERT是利用网络分析制定计划以及对计划予以评价的技术. 构造PER ...

  6. 根据火车的出发时间和到达时间,编写程序计算整个旅途所用的时间。比如G198次列车从青岛站出发时间为16:00,到达北京南站的时间为20:40,则整个旅途所用时间为04:40。

    题目描述 根据火车的出发时间和到达时间,编写程序计算整个旅途所用的时间.比如G198次列车从青岛站出发时间为16:00,到达北京南站的时间为20:40,则整个旅途所用时间为04:40.题目保证出发时间 ...

  7. 问题 E: 1.10 旅行时间  根据火车的出发时间和到达时间,编写程序计算整个旅途所用的时间。

    问题 E: 1.10 旅行时间 时间限制: 1 Sec 内存限制: 128 MB 提交: 8001 解决: 4162 [提交] [状态] [讨论版] [命题人:fuwx] 题目描述 根据火车的出发时间 ...

  8. 根据火车的出发时间和到达时间,编写程序计算整个旅途所用的时间。

    [题目描述] 根据火车的出发时间和到达时间,编写程序计算整个旅途所用的时间.比如G198次列车从青岛站出发时间为16:00,到达北京南站的时间为,则整个旅途所用时间为4:40.输入格式仅一行,包含2个 ...

  9. 计算火车运行时间 本题要求根据火车的出发时间和达到时间,编写程序计算整个旅途所用的时间

    计算火车运行时间 本题要求根据火车的出发时间和达到时间,编写程序计算整个旅途所用的时间. 输入格式 输入在一行中给出2个4位正整数,其间以空格分隔,分别表示火车的出发时间和到达时间.每个时间的格式为2 ...

最新文章

  1. response.getWriter().write()和 response.getWriter().print()的区别
  2. 典型云平台技术栈有哪些?
  3. Alluxio HA 写入文件失败
  4. ADO.NET中带参数的Sql语句的陷阱
  5. fat32转ntfs工具无损数据安全转换_干货真香! 无损制作UD三分区教程,新手小白的福利来了...
  6. 巧用yield处理文本
  7. 压力测试和负载测试区别_性能测试vs压力测试vs负载测试
  8. 基于耗散性的matlab,基于耗散能的沥青抗老化性能评价方法与流程
  9. win7更新_WIN7操作系统无法更新IE11的解决办法
  10. pc ps4手柄 驱动_《地平线:黎明时分》PC版性能表现分析
  11. SQL零基础入门学习(十)
  12. #457 科技乱炖:去中心化的Damus,会比Twitter更好么
  13. 大学生选择云服务器,腾讯云?阿里云?还是华为云?
  14. 如何用tensorflow使用自定义数据来训练,做物体检测
  15. 如何使用.bas文件
  16. 10分钟教你用python如何正确把妹
  17. vue 框架总结 使用elementUI
  18. 如何关闭windows10易升更新程程序
  19. 盘点:三十五个非主流开源数据库
  20. 【渝粤教育】电大中专电子商务网站建设与维护 (23)作业 题库

热门文章

  1. 企业微信消息推送卡片按钮互动的使用
  2. [转载] 中华典故故事(孙刚)——26 叫了王承恩
  3. 中国InGaAs APD模块市场深度研究分析报告
  4. LiteOS 软件定时器
  5. 过来人对研究生阶段的学习建议
  6. UE4_地图程序化随机生成
  7. VS2019设置easyx图形库
  8. 手机端如何阻止苹果浏览器输入框默认放大事件
  9. 深度学习 之一 【神经网络介绍】
  10. 环境大数据应用“含苞待放”?