题意:

给定n个优先级打印队列,然后从0开始编号到n-1。出队一个元素,如果他是队列中优先级最高的,打印(耗时一分钟),否则放到队尾(不耗时)。给定一个m,求位置m的文件打印的时间。

分析:

用一个priority_queue去寻找优先级最高的元素,然后用一个deque<pair<int,int> >去模拟队列 pair第一个元素是优先级, 第二个是序号。 如果第一元素跟优先级相同,就出队,否则出队后插入队尾。

(其实这题用queue也可以,不过deque好处是可以在队头插入,而且速度不慢)

 #include <bits/stdc++.h>
using namespace std;
typedef pair<int, int > PII;
int n, m;
int main()
{
ios::sync_with_stdio(false);
#ifdef LOCAL
freopen("1.txt","r",stdin);
#endif // LOCAL
int t;
cin >> t;
while(t--)
{
cin>>n>>m;
priority_queue<int,vector<int>, less<int> > pq;
deque<PII> dq;//pair第一个是优先级 第二个是序号
int pos = ;
for(int i = ; i < n; i++)
{
int p;
cin>>p;
pq.push(p);
dq.push_back(make_pair(p,pos));
pos++;
}
int res = ;
int print = ;
while()
{
int top = pq.top();
pq.pop();
while(dq.front().first!= top)
{
PII f = dq.front();
dq.pop_front();
dq.push_back(f);
}
if(dq.front().second == m)
{
++res;
break;
}
else
{
dq.pop_front();
++res;
}
}
cout << res << "\n";
} }

UVA 12100 打印队列(STL deque)的更多相关文章

  1. UVa 12100打印队列(队列)

    原题链接:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem ...

  2. 计蒜客 A2232.程序设计:蒜厂年会-单调队列(双端队列(STL deque)实现)滑窗维护最小前缀和

    程序设计:蒜厂年会 问答问题反馈 只看题面 16.79% 1000ms 262144K   在蒜厂年会上有一个抽奖,在一个环形的桌子上,有 nn 个纸团,每个纸团上写一个数字,表示你可以获得多少蒜币. ...

  3. BZOJ 2096 Pilots - 单调队列STL(deque)

    传送门 分析: 单调队列:维护两个递增.递减的队列,每次都加入新元素并更新,如果最大值(递减队首)-最小值(递增队首) > k,那么将最左段更新为前面两者中较前的那一个,并弹掉.用deque可以 ...

  4. UVa第五章STL应用 习题((解题报告))具体!

    例题5--9 数据库 Database UVa 1592 #include<iostream> #include<stdio.h> #include<string.h&g ...

  5. STL deque详解

    英文原文:http://www.codeproject.com/Articles/5425/An-In-Depth-Study-of-the-STL-Deque-Container 绪言 这篇文章深入 ...

  6. ACM程序设计选修课——1044: (ds:队列)打印队列(queue模拟)

    问题 A: (ds:队列)打印队列 时间限制: 1 Sec  内存限制: 128 MB 提交: 25  解决: 4 [提交][状态][讨论版] 题目描述 网络工程实验室只有一台打印机,它承担了非常繁重 ...

  7. 浅谈C++ STL deque 容器

    浅谈C++ STL deque 容器 本篇随笔简单介绍一下\(C++STL\)中\(deque\)容器的使用方法及常见使用技巧. deque容器的概念 \(deque\)的意义是:双端队列.队列是我们 ...

  8. Winform 打印PDF顺序混乱,获取打印队列

    工作中PDF打印顺序混乱着实让我疼痛了好久,其实决绝方法非常简单,但没有想到这个点子的时候确实让我走了很多弯路 这里文章写出来并不是为了炫耀什么,只是觉得发现些好东西就分享出来而已,同时也做个记录,方 ...

  9. Windows迁移打印机与打印队列

    移动打印机时,打印机当前所在服务器为源服务器,打印机将迁移到的服务器为目的服务器. 步骤: 1.为源服务器创建打印机配置文件 printbrm -b -s Servername -f SaveFile ...

随机推荐

  1. Luogu P2858 [USACO06FEB]奶牛零食Treats for the Cows 【区间dp】By cellur925

    题目传送门 做完A Game以后找道区间dp练练手...结果这题没写出来(哭). 和A Game一样的性质,从两边取,但是竟然还有天数,鉴于之前做dp经常在状态中少保存一些东西,所以这次精心设计了状态 ...

  2. UTF-8格式的文本文件程序读取异常

    最近在windows服务器上直接创建并手打输入配置参数,比如设置概率0.6,然后用java程序打开读取该参数,在本地linux环境下测试完全正常,但是一放到服务器上,就报NotNumber错误,查看了 ...

  3. Kuskal/Prim POJ 1789 Truck History

    题目传送门 题意:给出n个长度为7的字符串,一个字符串到另一个的距离为不同的字符数,问所有连通的最小代价是多少 分析:Kuskal/Prim: 先用并查集做,简单好写,然而效率并不高,稠密图应该用Pr ...

  4. 转-NSUserDefaults 简介,使用 NSUserDefaults 存储自定义对象

    转自:http://my.oschina.net/u/1245365/blog/294449 摘要 NSUserDefaults适合存储轻量级的本地数据,一些简单的数据(NSString类型的)例如密 ...

  5. D. Artsem and Saunders 数学题

    http://codeforces.com/contest/765/problem/D 这题的化简,不能乱带入,因为复合函数的带入,往往要严格根据他们的定义域的 题目要求出下面两个函数 g[h(x)] ...

  6. Suricata的所有运行方式模式(图文详解)

    不多说,直接上干货! suricata的基本组成.Suricata是由所谓的线程(threads).线程模块 (thread-modules)和队列(queues)组成.Suricata是一个多线程的 ...

  7. Spring注解驱动开发之声明式事务

    前言:现今SpringBoot.SpringCloud技术非常火热,作为Spring之上的框架,他们大量使用到了Spring的一些底层注解.原理,比如@Conditional.@Import.@Ena ...

  8. (6)《Head First HTML与CSS》学习笔记---结尾、《HTML5权威指南》读书笔记

    1.内联元素的外边距.内边距与块元素稍有不同. 如果一个内联元素四周都增加外边距,只能看到左边和右边会增加空间:你也可以对内联元素的上下增加内边距,不过这个内边距不会影响包围它的其他内联元素的间距—— ...

  9. GIS在石油行业中的应用

    在石油工业中,发现新的石油资源,取得竞争优势,是成功的关键之一.GIS系统能帮助评估潜在的石油资源,及时.准确.直观地定位油气资源的空间分布及其特征,以正确有效地开展部署勘探开发工作,占领市场先机. ...

  10. SQL——视图、事务、锁、存储过程

    https://www.bilibili.com/video/av15496406/?p=57 https://blog.csdn.net/u013630349/article/details/750 ...