P2278 [HNOI2003]操作系统
题面:https://www.luogu.org/problem/P2278
本题很明显的优先队列,法则是按优先级从大往小排,优先级相同的按开始时间从小往大排,然后就保证了当前队头是正在执行的进程,之后当一个新的进程要进队时,
就判断它的开始时间和队中的进程的结束时间的大小,然后将能做完的进程都输出并弹出队,之后判断队头和新的进程的优先级,如果队头优先级高就把新的进程放进队,
如果新的进程优先级高就把队头的进程停止,然后计算队头进程的剩余执行时间,再把它放进队,最后把新的进程放进队即可.Code:
#include<iostream>
#include<cstdio>
#include<cstring>
#include<queue>
#include<algorithm>
#include<ctime>
using namespace std;
struct Node{int id,s,l,f;bool operator < (const Node &a)const{if(f==a.f){return s>a.s;}else{return f<a.f;}}
}a;
long long t;
priority_queue<Node>Q;
int main(){while(~scanf("%d%d%d%d",&a.id,&a.s,&a.l,&a.f)){while(!Q.empty()&&t+Q.top().l<=a.s){Node b=Q.top();Q.pop();printf("%d %lld\n",b.id,t+b.l);t+=b.l;}if(!Q.empty()&&Q.top().f<a.f){Node c=Q.top();Q.pop();c.l=c.l-a.s+t;Q.push(c);t=a.s;}if(Q.empty()){Q.push(a);t=a.s;}else{Q.push(a);}}while(!Q.empty()){Node f=Q.top();Q.pop();t+=f.l;printf("%d %lld\n",f.id,t);}return 0;
}
转载于:https://www.cnblogs.com/ukcxrtjr/p/11541595.html
P2278 [HNOI2003]操作系统相关推荐
- [HNOI2003]操作系统
https://www.luogu.org/problemnew/show/P2278 题解: 一个是还未开始的进程,另一个是按照优先级排序的等待进程: 每次做时比较两个序列的队头,如果是当前在运行的 ...
- 2019.2-2019.3 TO-DO LIST
DP P2723 丑数 Humble Numbers(完成时间:2019.3.1) P2725 邮票 Stamps(完成时间:2019.3.1) P1021 邮票面值设计(完成时间:2019.3.1) ...
- 【ReView】 学习日志 from18/11/24 to 19/7/10
丶分治模板P3806寻找点对,一开始想距离的集合要不要用$set$维护做到$logN$查询,可想一下那样复杂度就会变为$O(MNlog^2N)$想想好像不太对,实际上因为值域比较小所以就直接开长度$1 ...
- BZOJ ac100题存档
不知不觉AC100题了,放眼望去好像都是水题.在这里就做一个存档吧(特别感谢各位大神尤其是云神http://hi.baidu.com/greencloud和丽洁姐http://wjmzbmr.com/ ...
- 重走长征路---OI每周刷题记录---12月6日 2014
总目录详见https://blog.csdn.net/mrcrack/article/details/84471041 做题原则,找不到测评地址的题不做.2018-11-28 重走长征路---OI每周 ...
- 洛谷P2278操作系统
题目 这个题是一个名副其实的考验细节和头脑清醒的一个题. 根据提议我们可以进行分类讨论. 我们用优先队列来模拟CPU,我们可以用在线的算法来写,每次输入一个进程都要判断这个进程是否可以挤掉优先队列里的 ...
- 【HNOI2003】【BZOJ1216】操作系统(模拟,优先队列)
problem 模拟操作系统的进程调度 给定每一个进程的进程号,到达时间,执行时间和运行优先级.(已经按到达时间从小到大排序) 如果一个进程到达的时候CPU是空闲的,则它会一直占用CPU直到该进程结束 ...
- 10任务栏全屏时老是弹出_Deepin 15.10 发布,深度操作系统
深度操作系统是一个致力于为全球用户提供美观易用.安全可靠的Linux发行版. 深度操作系统基于Linux内核,以桌面应用为主的开源GNU/Linux操作系统,支持笔记本.台式机和一体机.深度操作系统( ...
- 2022-2028年中国操作系统行业深度调研及投资前景预测报告
[报告类型]产业研究 [出版时间]即时更新(交付时间约3个工作日) [发布机构]智研瞻产业研究院 [报告格式]PDF版 本报告介绍了操作系统行业相关概述.中国操作系统行业运行环境.分析了中国操作系统行 ...
最新文章
- burpsuite 设置https_新手教程:如何使用Burpsuite抓取手机APP的HTTPS数据
- R语言使用WVPlots包可视化收入与年龄的Hexbin图并叠加平滑曲线实战
- C#开发WPF/Silverlight动画及游戏系列教程(Game Tutorial):(十八) 完美精灵之八面玲珑(WPF Only)②...
- 聊一聊:我退钱了!你呢?
- UTF-8文本文件头部出现乱码“锘*”的问题及解决方法
- [codevs 1916] 负载平衡问题
- restful api php,RestfulAPI · ThinkPHP6.0接口开发与应用及uniapp快速入门(更新完毕) · 看云...
- CentOS 6.2编译安装Nginx1.2.0+MySQL5.5.25+PHP5.3.13
- linux hibernate suspend 区别,实现Linux休眠(sleep/hibernate)和挂起(suspend)[转]
- 开发平台(Platform Builder 和 Embedded Visual C++)简介
- linux+极点五笔输入法,Linux技巧之Ubuntu11.04下安装极点五笔输入法
- 共建WEB3.0基础设施 NodeSea推出分布式域名后缀 .fil .bzz .xch .iot
- 学习笔记 第八周 第二篇(修改版)
- Apache web服务器目录结构、发布网站
- 【Java】JAVA枚举类型
- Neutron 理解 (6): 如何实现虚拟三层网络
- 读《不乖教师的正能量》摘抄
- 用java实现文学研究助手_数据结构文学研究助手 C语言代码实现(带源码+解析)...
- 【附源码】Python计算机毕业设计码码科技公司招投标管理系统
- [3] 信息收集(六月最佳)