leecode1011 | 在D天内送达包裹的能力

news2025/2/24 23:55:52

传送带上的包裹必须在 days 天内从一个港口运送到另一个港口。

传送带上的第 i 个包裹的重量为 weights[i]。每一天,我们都会按给出重量(weights)的顺序往传送带上装载包裹。我们装载的重量不会超过船的最大运载重量。

返回能在 days 天内将传送带上的所有包裹送达的船的最低运载能力。

##################################################
#翻译过来,找到能将货物在D天送达的船的最低运载能力。

#################################################
#思路:二分	真的很牛 真的很难想到吧
#这个船的最低运载能力,肯定是单次(天)的最大装载能力 x
用二分的思路,必然符合 max(weights[i]) <= x << sum(weights)
这就是二分的条件
int solution(std::vector<int>& weights, int days){
	int max_ = 0, sum = 0;
	for(auto mm : weights){
		max_ = max(max_, mm);
		sum += mm;
	}
	int l = max_, r = sum;
	while(l < r){
		int mid = (l + r) >> 1;		//位运算  要多用  很高效 本质是抓住了规律
		if(check(weights, mid, days){
			r = mid;
		}else{
			l = mid + 1;
		}
	}
	return r;
}
bool check(std::vector<int>& weights, int t, int days){
	int n = weights.size(), cnt = 1;	//这个cnt 表示的是按照 试错 找到的 x 所花的天数
	//因为每次都是要 划段 ,每一段的和  <= t 最后统计这些划的段的数量 是否小于 days 如果小于 说明 mid 大了 需要继续调整 mid
	for(int i = 0 sum = weights[0]; i < n; cnt++, sum = 0){
		while(i < n && sum + weights[i] <= t){
			sum += weights[i++];
		}
	}
	return (cnt - 1) <= days;
}

###############################################
这就是二分法的精髓 看来 对二分法的了解还不够深入。。。。。

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1391442.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

压力测试+接口测试(工具jmeter)

jmeter是apache公司基于java开发的一款开源压力测试工具&#xff0c;体积小&#xff0c;功能全&#xff0c;使用方便&#xff0c;是一个比较轻量级的测试工具&#xff0c;使用起来非常简单。因 为jmeter是java开发的&#xff0c;所以运行的时候必须先要安装jdk才可以。jmeter是…

【架构师专题】架构师如何管理业务团队?

一个优秀的架构师一定是一个优秀的管理者&#xff0c;这个是没错的&#xff0c;反过来一个优秀的管理者不一定是一个优秀的架构师&#xff0c;这个是我做了这么对年的架构师心得。 曾经我也做过关于团队底下的一线开发人员对团队中架构师的调查报告&#xff0c;发现这些开发人…

从此不再为远程访问局域网发愁

下载地址 Windows 64位 (切勿直接在压缩文件中操作,全部解压到一处后再操作,请关闭某60(会胡乱拦截),可用其他任意安全软件)Mac OS X 64位 (给fastnat执行权限 chmod x ./fastnat.. 终端运行二进制,自行百度)Linux 64位 (给fastnat执行权限 chmod x ./fastnat..)Linux/ARM 32位…

自动驾驶中大火的AI大模型中有哪些研究方向,与Transformer何干?

摘要: 本文将针对大模型学习中可能遇见的问题进行分析梳理,以帮助开发者在利用大模型在自动驾驶场景处理中学习更好的策略,利用有关大模型性能评价的问题,制定一个科学的标准去判断大模型的长处和不足。 随着自动驾驶行业发展对于大数据量处理的强大需求,其要求处理数据的…

硬件知识积累 VPX 3U/6U 电源板的连接器引脚定义讲解 (简单说明)

本文章参考资料 &#xff1a;ANSI/VITA 62-2012 1. 首先参考资料里面引脚定义图&#xff1a; 1. 3U 的引脚定义图&#xff1a; (VPX引脚编号&#xff0c; 最大电流&#xff0c; 对应引脚的作用) 2. 6U的引脚定义图&#xff1a; (VPX引脚编号&#xff0c; 最大电流&#xff0c…

网络Yum仓库介绍、自定义Yum仓库、Yum仓库更新、邮件的收发、DNS服务介绍、构建DNS服务、递归解析、迭代解析、NTP时间同步

1 大鹏一日同风起&#xff0c;扶摇直上九万里 2 环境准备 所有虚拟机设置SELinux运行模式 [rootserver ~]# getenforceEnforcing[rootserver ~]# setenforce 0 #当前设置[rootserver ~]# getenforcePermissive[rootserver ~]# vim /etc/selinux/configSELINUXpermissive 所…

爬虫案例——使用超级鹰打码平台识别验证码

爬虫案例——使用超级鹰打码平台识别验证码 超级鹰是一个常用的打码平台&#xff0c;您可以按照以下步骤来使用它&#xff1a; 注册账户&#xff1a;首先&#xff0c;您需要在超级鹰网站上注册一个账户。访问超级鹰官方网站&#xff08;https://www.chaojiying.com/&#xff…

Lua从电脑端爬取短视频评论并作商业化分析

之前有个大客户让我写一篇关于抓取短视频评论数据的单子&#xff0c;说是帮助公司寻找意向客户以及所对应产品在短视频里面的展现以及热门程度&#xff0c;通过数据采集方式并作数据自动化分析&#xff0c;从而实现商业上的价值。对于我来说写个爬虫还不简单&#xff0c;通过三…

使用scipy处理图片——滤镜处理

大纲 black_tophatwhite_tophatconvolvecorrelategaussian_filtergaussian_laplacemaximum_filtermedian_filterminimum_filterpercentile_filterprewittrank_filtersobelspline_filteruniform_filter基础代码代码仓库 在《使用numpy处理图片——模糊处理》一文中&#xff0c;我…

NodeJs 第十六章 JWT

JWT 概述令牌的组成headerpayloadsignature 令牌的验证一个简单的登陆服务总结 随着前后端分离的发展&#xff0c;以及数据中心的建立&#xff0c;越来越多的公司会创建一个中心服务器&#xff0c;服务于各种产品线。 而这些产品线上的产品&#xff0c;它们可能有着各种终端设备…

如何在云端加速缓存构建

缓存是指将某类数据存储起来以便以后重复使用的过程&#xff0c;它的运用在开发场景中非常普遍。类似于你习惯把最常用的调料放在厨房台面上&#xff0c;而不是橱柜里&#xff0c;这样你在准备大餐时就可以轻松取用。 但对于一个更为技术性、更精确的用例&#xff0c;比如像谷…

CSDN 年度总结|知识改变命运,学习成就未来

欢迎来到英杰社区&#xff1a; https://bbs.csdn.net/topics/617804998 欢迎来到阿Q社区&#xff1a; https://bbs.csdn.net/topics/617897397 &#x1f4d5;作者简介&#xff1a;热爱跑步的恒川&#xff0c;致力于C/C、Java、Python等多编程语言&#xff0c;热爱跑步&#xff…

探索Vue3:深入理解响应式语法糖

🚀 欢迎来到我的专栏!专注于Vue3的实战总结和开发实践分享,让你轻松驾驭Vue3的奇妙世界! 🌈✨在这里,我将为你呈现最新的Vue3技术趋势,分享独家实用教程,并为你解析开发中的难题。让我们一起深入Vue3的魅力,助力你成为Vue大师! 👨‍💻💡不再徘徊,快来关注…

Spring Security-用户注销及记住我

用户注销 在配置类增加退出映射地址 Overrideprotected void configure(HttpSecurity http) throws Exception {//退出/注销http.logout().logoutUrl("/logout").logoutSuccessUrl("/test/hello").permitAll();} 完整代码: package com.config;​import o…

MSVS C# Matlab的混合编程系列1 - 看似简单的问题引出

前言&#xff1a; 问题提出&#xff0c;如何把Matlab(本文简称MT)的算法集成到Visual Studio(本文简称VS)里面运行&#xff1f; 本文&#xff0c;通过编制一个MT中最简单的加法函数&#xff0c;我们把他做成 MSVS C#能够使用的动态库&#xff0c;说明了MSVS C# 和 MT集成的最…

TCP连接TIME_WAIT

TCP断开过程: TIME_WAIT的作用: TIME_WAIT状态存在的理由&#xff1a; 1&#xff09;可靠地实现TCP全双工连接的终止 在进行关闭连接四次挥手协议时&#xff0c;最后的ACK是由主动关闭端发出的&#xff0c;如果这个最终的ACK丢失&#xff0c;服务器将重发最终的FIN&#xf…

超竞化更全能 ROG游戏手机8系列新品正式发布

超竞化更全能 ROG游戏手机8系列新品正式发布 北京时间1月16日晚19:00&#xff0c;ROG 2024新品发布会正式召开&#xff0c;并推出多款新品装备。其中&#xff0c;全新的ROG游戏手机8系列正式发布。该系列产品以“超竞化&#xff0c;更全能”的态度将硬核游戏与日常使用完美结合…

Configure Virtual Serial Port Driver串口模拟器VSPD

背景 串口通讯想必做硬件开发和软件的人来说都相当了解&#xff0c;以前的电脑&#xff0c;基本标配都包含一个串口。但现在的电脑&#xff0c;基本都没有配置串口了&#xff0c;如果要使用串口的功能&#xff0c;基本就要用一个USB转串口的硬件模块。 虚拟串口&#xff08;虚…

P9852 [ICPC2021 Nanjing R] Windblume Festival 题解(SPJ)

[ICPC2021 Nanjing R] Windblume Festival 单击此处下载原神 题面翻译 给一个长度为 n n n 环形整数序列 a a a, 每次操作可以任意选择一个下标 x x x&#xff0c;令 $ a_x a_x - a_{(x\bmod n)1}$&#xff0c;之后移除 a ( x m o d n ) 1 a_{(x\bmod n)1} a(xmodn)1​…

深度学习引领信息检索革新:从传统方法到神经网络信息检索的探索

目录 前言1 信息检索背景概述1.1 信息检索基本任务1.2 信息检索是NLU典型应用 2 信息检索任务定义2.1 检索阶段2.2 排序阶段2.3 关键技术和算法 3 评价指标3.1 MRR&#xff08;平均倒数排名&#xff09;3.2 MAP&#xff08;平均精度均值&#xff09;3.3 NDCG&#xff08;归一化…