洛谷 P3378 【模板】堆
2024-10-08 07:42:37
如题,初始小根堆为空,我们需要支持以下3种操作:
操作1: 1 x 表示将x插入到堆中
操作2: 2 输出该小根堆内的最小数
操作3: 3 删除该小根堆内的最小数
输入输出格式
输入格式:
第一行包含一个整数N,表示操作的个数
接下来N行,每行包含1个或2个正整数,表示三种操作,格式如下:
操作1: 1 x
操作2: 2
操作3: 3
输出格式:
包含若干行正整数,每行依次对应一个操作2的结果。
输入输出样例
说明
时空限制:1000ms,128M
数据规模:
对于30%的数据:N<=15
对于70%的数据:N<=10000
对于100%的数据:N<=1000000(注意是6个0。。。不过不要害怕,经过编者实测,堆是可以AC的)
样例说明:
故输出为2、5
【代码】:升序排列处理最小数:std::priority_queue<int,vector<int>,greater<int> > q;
#include <iostream>
#include <cstdio>
#include <cstring>
#include<queue>
#include <algorithm>
using namespace std;
priority_queue< int,vector<int>,greater<int> > q;
int ans;
int main()
{
int n;
int a,b;
ios::sync_with_stdio(false);
cin>>n;
for(int i=;i<n;i++)
{
cin>>a;
if(a==)//操作1: 1 x 表示将x插入到堆中
{
cin>>b;
q.push(b);
}
if(a==) //操作2: 2 输出该小根堆内的最小数
{
ans=q.top();
cout<<ans<<endl;
}
if(a==) //操作3: 3 删除该小根堆内的最小数
{
q.pop();
}
}
return ;
}
最新文章
- 用H5中的Canvas等技术制作海报
- 完美解决:Could not retrieve mirrorlist http://mirrorlist.centos.org/?release=6&;arch=x
- js判断是否为空火undefined是否给undefined加引号
- hdu 3917 Road constructions 最大权闭合子图
- js、javascript正则表达式验证身份证号码
- 横向技术分析C#、C++和Java优劣
- 补丁惹的祸-ContractName Microsoft.VisualStudio.Text.ITextDocumentFactoryService
- STL内存配置器
- C# 中 重载,重写,隐藏的区别
- Python 3.5.1 Syntax &; APIs(Continue Updating..
- C#入门经典第十章类的成员-1
- windows linux—unix 跨平台通信集成控制系统----文件搜索
- 转载:深入理解Scala的隐式转换系统
- 安装Android开发工具
- asp.net Checkbox 绑定自定义属性
- css抠图之background-position-背景定位
- AngularJS 常用语法
- npp基本设置
- 设置CameraRollBrowseOptions的宽高
- 大数据(2) - Hadoop完全分布式的部署
热门文章
- Android学习记录(4)—在java中学习多线程下载的基本原理和基本用法①
- 《Cracking the Coding Interview》——第11章:排序和搜索——题目8
- Windows Server 2008 R2 集群(OpenService “RemoteRegistry” 失败)笔记
- python3 打印九九乘法口诀表
- Python全栈(一)编程语言介绍
- (转\整)UE4游戏优化 多人大地型游戏的优化(一)游戏线程的优化
- nginx记录分析网站响应慢的请求(ngx_http_log_request_speed)
- Strassen优化矩阵乘法(复杂度O(n^lg7))
- Codeforces 433 Div.2(A、B、C、D)
- BZOJ1004 [HNOI2008]Cards 【burnside定理 + 01背包】