news 2026/6/24 13:23:33

C++算法:连续时间+多任务并行(二分)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
C++算法:连续时间+多任务并行(二分)

🍗 炸鸡排问题(连续时间并行调度)
一、题目本质

有 n 个任务(鸡排),第 i 个任务需要 t[i] 的总处理时间,同时最多(且必须)处理 k 个任务,任务可随时切换,但完成的任务不能再占用资源
求:最多能持续运行多长时间

👉 本质是:
连续时间 + 必须恰好 k 个并行任务的调度问题

二、关键建模思想

把炸锅看成一个“资源池”:每 1 秒,炸锅消耗 k 单位工作量,第 i 个鸡排最多能提供 t[i] 单位工作量,在 T 秒内,第 i 个鸡排最多贡献min(t[i], T)

三、核心可行性条件(最重要)

炸锅能持续 T 秒 当且仅当:∑min(ai​,T)≥kT

含义解释

左边:所有鸡排在 T 秒内最多能提供的炸制时间

右边:炸锅在 T 秒内必须消耗的炸制时间

四、通用结论(可迁移)

所有:
1.连续时间
2.多任务可切换
3.必须同时运行 k 个任务

都可以尝试:∑min(ai​,T)≥kT进行二分判断

五、题目

PG:炸鸡排

浮点数二分:当答案为浮点数时,二分终止条件不再是left>right,而是用一个较大的二分次数来限制。

intN=100;while(N--){doubleT=(left+right)*1.0/2;// 验证doublecnt=0;for(doubletime:t){cnt+=min(time,T);}if(cnt>=k*T){left=T;}else{right=T;}}

LeetCode:同时运行N台电脑

答案为整型的开区间二分:判断条件为left+1<right,从而保证区间内一定包含整数,否则返回left

longlongmaxRunTime(intn,vector<int>&batteries){longlongleft=0;longlongright=0;for(intt:batteries){right+=t;}right/=n;right+=1;while(left+1<right){longlongmid=(left+right)/2;longlongcnt=0;for(longlongt:batteries){cnt+=min(t,mid);}if(cnt>=mid*n){left=mid;}else{right=mid;}}returnleft;}
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/23 19:10:20

行业视角下的数据库监控演进:主动预防能力何以成为刚需

凌晨三点的告警电话刺耳地响起&#xff0c;屏幕上一片飘红的性能指标让DBA&#xff08;数据库管理员&#xff09;瞬间清醒&#xff0c;又一个不眠之夜在“救火”中开始了——这种场景曾是DBA工作的日常。深夜的“救火”场景&#xff0c;本质是传统被动响应运维模式的真实写照。…

作者头像 李华
网站建设 2026/6/23 4:31:10

​当年靠这个ASP.NET电子书城系统,我的毕业设计直接拿优!(附核心源码)​

谁懂啊!当年做毕业设计时,选了个 “电子书城系统”,没想到不仅完美解决了传统购书的痛点,还靠扎实的技术实现拿了优秀!今天把这份压箱底的开发笔记分享出来,包含技术选型、核心模块实现、踩坑实录,适合.NET 初学者练手,老程序员也能追忆当年的开发情怀~ 一、项目背景…

作者头像 李华
网站建设 2026/6/18 20:24:14

极坐标波束形成数据底跟踪算法详解

极坐标波束形成数据底跟踪算法详解 一、基本概念 1.1 底跟踪的定义 底跟踪&#xff08;Bottom Tracking&#xff09;是通过声学回波信号检测和跟踪海底位置的技术&#xff0c;主要用于&#xff1a; 测量船舶相对于海底的速度确定水深辅助水下导航定位补偿多普勒计程仪测量 …

作者头像 李华
网站建设 2026/6/23 18:53:59

【技术教程】TrustFlow 授权策略是怎么实现的?

打开链接即可点亮社区Star&#xff0c;照亮技术的前进之路。 Github 地址&#xff1a;https://github.com/secretflow/trustflow/ TrustFlow提供了一套简洁易懂的语法帮助用户对数据使用行为的授权进行描述。接下来我们会详细描述这套语法&#xff0c;并结合示例进行讲解。 …

作者头像 李华
网站建设 2026/6/23 15:17:53

丐版 OI 技巧 / 杂项部分总结 + 作者学习笔记

持久化区间修改区间查询线段树&#xff1a;SP11470 TTM - To the moon点击查看代码2. 有后效性的 dpCF24D Broken robot一般用高斯消元 求解。也可以多跑几遍朴素 dp 使误差降到可接受范围内。多跑几遍的代码3. P14402 [JOISC 2016] 危险的滑冰 / Dangerous Skating图论建模。思…

作者头像 李华