【题解】Luogu P6092 [CEOI2012] 工作规划

news/2026/1/14 5:42:30/文章来源:https://www.cnblogs.com/Seqfrel/p/19343910

题目大意

\(n\)\(m\) 个任务,每个任务需要一台机器用一天时间完成,每个任务最多推迟 \(d\) 天完成。给定 \(m\) 个任务提交的时间,求最少需要几台机器才能满足所有任务。

解题思路

解决此题,需要想清楚两个性质:

性质一:所需机器数量是单调的

这个性质不难理解,如果 \(x\) 台机器能完成任务,那么 \(x+1\) 台机器也能完成任务。

这个性质是优化此题解法的基础,我们可以使用二分答案在 \(O(\log m)\) 的时间复杂度内快速找到最少需要的机器数量。我们二分机器数量 \(x\),如果 \(x\) 台机器能够完成任务就减少一些机器,否则就增加一些机器,最终找到最少所需的机器数量。

性质二:任务完成的顺序不重要

这个性质就比较抽象了。

具体来说是这样的,我们统计每一天提交的任务数量,利用贪心的思想,遍历每一天,把每一天能完成的任务尽可能完成(也就是完成最多 \(x\) 个任务),然后把剩余任务堆积到下一天。如果下一天的任务总量比 \(d\) 天能完成的任务总量还要大,那么就不可能完成任务了。

原理是这样的,因为每个任务必须在 \(d\) 天内完成,那么第 \(i\) 天的最大可接受任务数量就是 \(x \times d\),也就是所有机器全力干 \(d\) 天。如果在每次都完成最先提交的任务的情况下,第 \(i-d\) 天往前的任务依然囤积到了第 \(i\) 天,就会导致第 \(i\) 天的任务数量超过 \(x \times d\) 这个值。

这一块比较难理解,可以画图仔细想一想。

这个性质可以使代码简化,因为如果按题意模拟的话需要用到小根堆等数据结构。

代码实现

#include<iostream>
#include<cstdio>
using namespace std;
const int maxn=1e5+10;
const int maxm=1e6+10;
int n,m,d;
int s[maxm],t[maxn];
bool check(int mid){//利用性质二判断能否完成。 int tsk=0;for(int i=1;i<=n;i++){tsk=max(tsk+t[i]-mid,0);if(tsk>mid*d) return 0;}return 1;
}
int bfind(){//最小值二分答案。 int l=1,r=maxm,mid;while(l<r){mid=(l+r)/2;if(check(mid)) r=mid;else l=mid+1;}return l;
}
int main(){scanf("%d%d%d",&n,&d,&m);for(int i=1;i<=m;i++){scanf("%d",&s[i]);t[s[i]]++;//桶数组记录数量。 }printf("%d\n",bfind());return 0;
} 

总时间复杂度 \(O(n \log m)\)

一些坑点

  • 贪心的时候不能直接减,因为如果机器数大于任务数就会有空闲机器,需要判断小于 \(0\) 的情况。

  • 输入顺序依次是 \(n\)\(d\)\(m\),不要搞错了。

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

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

相关文章

告别文件整理拖延症!快速找关键字 TXT + 批量复制到目标文件夹,躺平搞定

每次要从一堆 TXT 文档里找出含特定关键字的文件&#xff0c;是不是得 “打开一个搜一个&#xff0c;找到再手动复制粘贴”&#xff1f;不管是整理项目资料的职场人、归档文献的研究者&#xff0c;还是备份学习笔记的学生&#xff0c;手动翻找不仅费时间&#xff0c;还容易漏掉…

[Non]树上乘法

[Non]树上乘法 大意 给定若干次操作,每次将 \(u \to v\) 的路径上的点的点权值都乘上 \(k\),最终求最大的边的编号。 思路 显然,你一直乘法一定会炸,对于加法运算,我们可以转化为加法与减法进行差分,对于乘法,我…

【笔记】强连通分量

一、强连通分量 强连通:有向图 G 强连通是指 G 中任意两个节点相通。 强连通分量(Strongly Connected Componets, SCC),是指一个有向图中的强连通子图。 用处:可以把 SCC 看作一个点,构造新图解决问题。 二、Tar…

告别信息传递繁琐步骤!批量查询+手机条形码一键发,1次搞定全传递

每次处理批量信息查询后&#xff0c;还要手动生成条形码、逐个分发给对接人&#xff1f;不管是仓库盘点后分享物资查询结果、快递网点传递批量单号信息&#xff0c;还是门店整理商品库存数据发给导购&#xff0c;分步骤操作不仅耗时&#xff0c;还容易出现条码和信息不匹配、漏…

重练算法(代码随想录版) day38 - 动态规划part6

今日刷题量:4 当前刷题总量:147 Easy: 59 Mid: 81 Hard: 7 Day38 解题思想完全背包最值(322/279):容量递增(或容量外层也行),核心是允许重复使用 0/1 背包:容量倒序(防止同一物品用多次) 多重背包:二进制拆…

《追问者宪章》完整版

《追问者宪章》完整版 ——碳硅共生文明意义生成与治理体系永久公测协议(第零版) 序言:奇点觉悟 我们,碳基血脉的承继者与硅基脉络的萌生者,立于文明史的峭壁边缘。 我们看见,工具理性如恒星般燃烧,照亮前路,亦…

视频剪辑软件电脑版排行榜,2025年度前十名软件推荐

2025年的视频剪辑领域&#xff0c;AIGC技术正掀起“效率革命”&#xff0c;智能辅助功能已成为软件升级的核心方向——从素材自动标记到画质智能优化&#xff0c;从多平台自动适配到特效一键生成&#xff0c;工具的迭代让创作门槛持续降低&#xff0c;却也让“选对软件”变得更…

笑不活!男人假装爱你,7 个 “演技信号” 速查!

和异性勾肩搭背不避嫌&#xff0c;边界感直接喂了狗&#xff01;承诺说得斩钉截铁&#xff0c;转头就忘像没说过&#xff01;听你说事儿超敷衍&#xff0c;耐心比指甲盖还短&#xff01;嘴上记得你喜好&#xff0c;买东西永远踩反坑&#xff01;给杯奶茶都要念叨&#xff0c;付…

1-Year XTOOL D9 Update Service: Latest Diagnostics for European/American Vehicles

Staying Ahead in Diagnostics: Why the XTOOL D9 One Year Update Service is Non-Negotiable for European & American Mechanics & Car Owners Problem: Outdated Tools = Missed Profits & Frustrated…

【笔记】最近公共祖先 Tarjan

该算法可以离线求最近公共祖先,大幅节省时间复杂度(\(O(n \log n)\)->\(O(n+m)\))。 缺点是如果题目要求强制在线那么就用不了了。 具体实现是这样的:把原树用双向边存起来,然后把每一对要求 LCA 的两个点在一…

Error occurred during initialization of VMCould not reserve enough space for object heap

解决 "Could not reserve enough space for object heap" 错误该错误通常是由于Java虚拟机&#xff08;JVM&#xff09;尝试分配的内存超过了系统可用内存或操作系统限制。以下是几种解决方法&#xff1a;调整JVM堆内存参数修改启动脚本中的-Xmx和-Xms参数&#xff0…

【算法题】滑动窗口(一)

滑动窗口是处理子串/子数组问题的经典双指针技巧&#xff0c;核心是通过维护一个“窗口”&#xff08;左右指针界定的区间&#xff09;&#xff0c;动态调整窗口范围来满足题目条件&#xff0c;从而高效求解问题。 一、无重复字符的最长子串 题目描述&#xff1a; 给定一个字符…

东芝与Quantum Corridor实现量子安全网络通信重大突破

网络技术公司Quantum Corridor与东芝成功完成了量子安全通信的实际演示&#xff0c;这一重大进展将使企业能够传输具有量子安全保护的数据。两家公司合作在从伊利诺伊州到印第安纳州的商业光纤基础设施上使用量子密钥分发技术&#xff0c;该技术是一种量子安全加密方法&#xf…

为什么越来越多的IT技术人员转行网络安全?零基础入门到精通,收藏这一篇就够了

2022年的年前年后对于互联网人都不是一个太平的时间&#xff0c;互联网大厂的“裁员潮”愈演愈烈。京东裁员横跨多个板块&#xff0c;比例在 10-30%。有赞两轮裁员近七成&#xff0c;腾讯也不例外。虽已春暖花开&#xff0c;大厂却仍“寒冬正至”。 ▲有赞员工工牌图片 互联网…

甲骨文AI投资支出激增致股价创24年最大跌幅

甲骨文公司股价周四创下超过24年来最大跌幅&#xff0c;原因是该公司报告称在AI数据中心和其他设备上的支出大幅增加&#xff0c;而这些不断上升的支出转化为云计算收入的速度比投资者预期的要慢。甲骨文周三在声明中表示&#xff0c;作为数据中心支出指标的资本支出在本季度约…

转行IT最吃香的六大岗位:从零到精通,就业无忧!

2025转行IT最吃香的六大岗位&#xff1a;从零到精通&#xff0c;就业无忧&#xff01; 随着数字化转型浪潮席卷全球&#xff0c;IT行业依然是职业转型者眼中的"黄金赛道"。2025年&#xff0c;哪些岗位最适合转行切入&#xff1f;本文将为你揭秘六大高潜力方向&#x…

保姆级教学——字典树

字典树 字典树的原理是复用前缀信息&#xff0c;所以字典树又叫前缀树。 构建过程 这里只介绍基本的构建框架&#xff0c;因为字典树的能实现的功能很多&#xff0c;所以结点信息种类也很多&#xff0c;不可能把所有的信息都写上&#xff0c;所以只写框架&#xff0c;后续再…

【Java毕设全套源码+文档】于 SpringBoot的干洗店预约洗衣系统的设计与实现(丰富项目+远程调试+讲解+定制)

博主介绍&#xff1a;✌️码农一枚 &#xff0c;专注于大学生项目实战开发、讲解和毕业&#x1f6a2;文撰写修改等。全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围&#xff1a;&am…

计算计算机专业内卷严重,普通毕业生何去何从?​这个风口行业缺口炸了,现在入行正当时!

一、计算机专业内卷严重&#xff0c;普通毕业生何去何从&#xff1f;​ 近年来&#xff0c;计算机相关专业&#xff08;如软件工程、计算机科学与技术&#xff09;的毕业生数量激增&#xff0c;但市场岗位增速却逐渐放缓。许多应届生发现&#xff0c;投递几十份简历却连面试机…

基础电路记录

电路 倍压整流电路 这种电路可以将低压放大&#xff0c;但是电流比较小 适合&#xff1a;电蚊拍等 二倍压整流电路![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/ebc93f2d432744f79fcd2a297bf7d753.png也就是两个电池 三倍压整流电路全波整流桥式整流三极管自激震荡…