luogu P3378 【模板】堆
题目大意
如题,初始小根堆为空,我们需要支持以下3种操作:
操作1: 1 x 表示将x插入到堆中
操作2: 2 输出该小根堆内的最小数
操作3: 3 删除该小根堆内的最小数
输入格式
第一行包含一个整数N,表示操作的个数
接下来N行,每行包含1个或2个正整数,表示三种操作,格式如下:
操作1: 1 x
操作2: 2
操作3: 3
输出格式:
包含若干行正整数,每行依次对应一个操作2的结果。
输入样例
5
1 2
1 5
2
3
2
输出样例
2
5
code
#include<bits/stdc++.h>
using namespace std;const int N = 1e6+5;
int n,i,t,x,tot = 0,now,nxt;
int v[N];inline int read()
{int x = 0;char ch =getchar();while(ch < '0' || ch > '9') ch = getchar();while(ch >='0' && ch <= '9'){x = x*10 + ch-'0';ch = getchar();}return x;
}inline void insert()
{x = read();v[++tot] = x;now = tot;while(v[now>>1] > v[now]) {swap(v[now>>1] , v[now]);now = now>>1;}
}inline void del()
{v[1] = v[tot--];now = 1;while((now<<1) <= tot){nxt = now<<1;if(nxt+1 <= tot && v[nxt+1] < v[nxt]) nxt++;if(v[nxt] < v[now]) swap(v[now],v[nxt]);else break;now = nxt; }
}int main()
{n = read();for(i = 1;i <= n;i++){t = read();if(t == 1) insert();if(t == 2) printf("%d\n",v[1]);if(t == 3) del();}return 0;
}
转载于:https://www.cnblogs.com/Mark-X/p/11404640.html
luogu P3378 【模板】堆相关推荐
- 【luogu P3378 堆】 模板
题目链接:https://www.luogu.org/problemnew/show/P3378 是堆的模板...我懒,STL da fa is good #include <iostream& ...
- [Luogu] P3376 模板-网络流-最大流
题目描述 如题,给出一个网络图,以及其源点和汇点,求出其网络最大流. 输入输出格式 输入格式: 第一行包含四个正整数N.M.S.T,分别表示点的个数.有向边的个数.源点序号.汇点序号. 接下来M行每行 ...
- 堆——以洛谷p3378,p1334,p1628,p1878为例
堆 堆的五个基本操作: 1.在集合中插入一个数 heap[++size]=x ; up[size] 2.求集合当中的最小值 heap[1] 3.删除最小值 ...
- luogu P3379 【模板】最近公共祖先(LCA)
lca最近公共祖先,是指两个点最近的祖先节点:求lca我知道的有三种倍增, st表,tarjan,我要介绍的是倍增,我才不会告诉你我只会这一个. 话说我学lca可真的路途曲折,在qbxt,lcy da ...
- 【裴蜀定理】BZOJ 1441 MIN
P4549 [模板]裴蜀定理 这是一道bzoj的权限题,同时又是一道luogu的模板题 在标题上写模板不是很好, 决定放bzoj的名字来撑撑场面 bzoj: 裴蜀定理:dalao题解 显然就很优秀ov ...
- manacher算法学习(求最长回文子串长度)
Manacher总结 我的代码 学习:yyb luogu题目模板 xzy的模板 #include<iostream> #include<cstdlib> #include< ...
- java写值日表_jvm - z_先生 - 博客园
jvm jvm的理解 虚拟机有什么更新 什么是OOM stackOverflowError 有哪些方法分析 jvm常用的调优参数 jvm类加载器的认识 jvm的体系结构概述 Object o = ne ...
- 算法学习笔记:网络流#4——ISAP 求解最大流
算法学习笔记:网络流#4--ISAP 求解最大流 1. 前言 2. 模板 2.1 详解 2.2 正确性证明 2.3 代码 3. 算法对比 3.1 一般数据下的对比 3.2 特殊数据下的对比 4. 总结 ...
- 洛谷 P3378 【模板】堆
2019-05-30 题目 : 洛谷 P3378 [模板]堆 : https://www.luogu.org/problemnew/show/P3378 题目描述 如题,初始小根堆为空,我们需要支持以 ...
最新文章
- Python实现固定效应回归模型实现因果关系推断
- linux系统编程_Linux系统编程:进程间通信
- Linux内核中工作队列的使用work_struct,delayed_work
- MySQL学习第三章练习题
- AI:IPPR的数学表示-CNN稀疏结构进化(Mobile、xception、Shuffle、SE、Dilated、Deformable)
- Spring集成–第1节– Hello World
- 信息学奥赛一本通 1028:字符菱形 | OpenJudge NOI 1.1 09
- 软件工程师工作内容和从业要求
- DevExpress chartControl 数据绑定
- CDN应用进阶 | 大文件下载及视频点播的CDN加速实践
- 教你如何布置家庭影院
- win10从网络访问计算机没有guest,简单几步解决win10没有权限访问网络资源的问题...
- 1688按关键词搜索示例
- 一个555振荡电路及其解释
- since it exceeds Excel‘s limit of 65,530 URLS per worksheet
- opencv 手指位置检测
- Scala 继承和特质
- 未来计算机网络会发展成什么样子,计算机网络技术未来的发展与应用
- 啥是单点登陆?淘宝和天猫是如何实现同时登陆的?
- 【Typora】添加水印