UVA 12100 打印队列(STL deque)
题意:
给定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)的更多相关文章
- UVa 12100打印队列(队列)
原题链接:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem ...
- 计蒜客 A2232.程序设计:蒜厂年会-单调队列(双端队列(STL deque)实现)滑窗维护最小前缀和
程序设计:蒜厂年会 问答问题反馈 只看题面 16.79% 1000ms 262144K 在蒜厂年会上有一个抽奖,在一个环形的桌子上,有 nn 个纸团,每个纸团上写一个数字,表示你可以获得多少蒜币. ...
- BZOJ 2096 Pilots - 单调队列STL(deque)
传送门 分析: 单调队列:维护两个递增.递减的队列,每次都加入新元素并更新,如果最大值(递减队首)-最小值(递增队首) > k,那么将最左段更新为前面两者中较前的那一个,并弹掉.用deque可以 ...
- UVa第五章STL应用 习题((解题报告))具体!
例题5--9 数据库 Database UVa 1592 #include<iostream> #include<stdio.h> #include<string.h&g ...
- STL deque详解
英文原文:http://www.codeproject.com/Articles/5425/An-In-Depth-Study-of-the-STL-Deque-Container 绪言 这篇文章深入 ...
- ACM程序设计选修课——1044: (ds:队列)打印队列(queue模拟)
问题 A: (ds:队列)打印队列 时间限制: 1 Sec 内存限制: 128 MB 提交: 25 解决: 4 [提交][状态][讨论版] 题目描述 网络工程实验室只有一台打印机,它承担了非常繁重 ...
- 浅谈C++ STL deque 容器
浅谈C++ STL deque 容器 本篇随笔简单介绍一下\(C++STL\)中\(deque\)容器的使用方法及常见使用技巧. deque容器的概念 \(deque\)的意义是:双端队列.队列是我们 ...
- Winform 打印PDF顺序混乱,获取打印队列
工作中PDF打印顺序混乱着实让我疼痛了好久,其实决绝方法非常简单,但没有想到这个点子的时候确实让我走了很多弯路 这里文章写出来并不是为了炫耀什么,只是觉得发现些好东西就分享出来而已,同时也做个记录,方 ...
- Windows迁移打印机与打印队列
移动打印机时,打印机当前所在服务器为源服务器,打印机将迁移到的服务器为目的服务器. 步骤: 1.为源服务器创建打印机配置文件 printbrm -b -s Servername -f SaveFile ...
随机推荐
- python之排序算法-冒泡、选排、快排
影响内排序算法性能的三个因素: 时间复杂度:即时间性能,高效率的排序算法应该是具有尽可能少的关键字比较次数和记录的移动次数 空间复杂度:主要是执行算法所需要的辅助空间,越少越好. 算法复杂性.主要是指 ...
- linux php5.6 提示 could not find driver
1.进入在PHP源码包中进入ext/pdo_mysql # wget http://pecl.php.net/get/PDO_MYSQL-1.0.2.tgz 2.然后是解压缩. # tar -zxvf ...
- Spring------IOC&DI
一.Spring? Spring兴起:2003年,由Rod Johnson创建.总的来说,Spring Framwork从它诞生至今都一直为人所称道,它的伟大之处自此可见一斑. 核心:IOC& ...
- java synchronized(object/this)的 区别
1.synchronized(object) package test.thread; import java.io.IOException; import org.junit.Test; /* * ...
- java-IO操作性能对比
在软件系统中,IO速度比内存速度慢,IO读写在很多情况下会是系统的瓶颈. 在java标准IO操作中,InputStream和OutputStream提供基于流的IO操作,以字节为处理单位:Reader ...
- ubuntu命令行使用ftp客户端
转载 本篇文章主要介绍在Ubuntu 8.10下如何使用功能强大的FTP客户端软件NcFTP. Ubuntu的源里为我们提供了FTP客户端软件NcFTP,可这款工具对新手来说不是很方便.本文介绍的是一 ...
- 4K屏选购秘诀
最近我买了一台三星4K 27.7吋显示器,经试用,虽然达到4K标准,但感觉像素精细度不够.明显达不到我的苹果笔记本视网膜屏的精细程度,事后总结一下原因:因为4K屏总的像素是3840×2160,屏越大像 ...
- leetcode_1011. Capacity To Ship Packages Within D Days_binary search二分
https://leetcode.com/problems/capacity-to-ship-packages-within-d-days/ 传送带每天有最大传送量V,对于n个货物[w1,w2,w3. ...
- 所有的工作目录 都要svn_开头,并且要进行svn同步,你能保证你不删除,你保证不了非你!
所有的工作目录 都要svn_开头,并且要进行svn同步,你能保证你不删除,你保证不了非你! 血的代价啊~
- Matrix (二分套二分
Given a N × N matrix A, whose element in the i-th row and j-th column Aij is an number that equals i ...