题目大意

如题,初始小根堆为空,我们需要支持以下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 【模板】堆相关推荐

  1. 【luogu P3378 堆】 模板

    题目链接:https://www.luogu.org/problemnew/show/P3378 是堆的模板...我懒,STL da fa is good #include <iostream& ...

  2. [Luogu] P3376 模板-网络流-最大流

    题目描述 如题,给出一个网络图,以及其源点和汇点,求出其网络最大流. 输入输出格式 输入格式: 第一行包含四个正整数N.M.S.T,分别表示点的个数.有向边的个数.源点序号.汇点序号. 接下来M行每行 ...

  3. 堆——以洛谷p3378,p1334,p1628,p1878为例

    堆 堆的五个基本操作: 1.在集合中插入一个数      heap[++size]=x  ;  up[size] 2.求集合当中的最小值      heap[1] 3.删除最小值           ...

  4. luogu P3379 【模板】最近公共祖先(LCA)

    lca最近公共祖先,是指两个点最近的祖先节点:求lca我知道的有三种倍增, st表,tarjan,我要介绍的是倍增,我才不会告诉你我只会这一个. 话说我学lca可真的路途曲折,在qbxt,lcy da ...

  5. 【裴蜀定理】BZOJ 1441 MIN

    P4549 [模板]裴蜀定理 这是一道bzoj的权限题,同时又是一道luogu的模板题 在标题上写模板不是很好, 决定放bzoj的名字来撑撑场面 bzoj: 裴蜀定理:dalao题解 显然就很优秀ov ...

  6. manacher算法学习(求最长回文子串长度)

    Manacher总结 我的代码 学习:yyb luogu题目模板 xzy的模板 #include<iostream> #include<cstdlib> #include< ...

  7. java写值日表_jvm - z_先生 - 博客园

    jvm jvm的理解 虚拟机有什么更新 什么是OOM stackOverflowError 有哪些方法分析 jvm常用的调优参数 jvm类加载器的认识 jvm的体系结构概述 Object o = ne ...

  8. 算法学习笔记:网络流#4——ISAP 求解最大流

    算法学习笔记:网络流#4--ISAP 求解最大流 1. 前言 2. 模板 2.1 详解 2.2 正确性证明 2.3 代码 3. 算法对比 3.1 一般数据下的对比 3.2 特殊数据下的对比 4. 总结 ...

  9. 洛谷 P3378 【模板】堆

    2019-05-30 题目 : 洛谷 P3378 [模板]堆 : https://www.luogu.org/problemnew/show/P3378 题目描述 如题,初始小根堆为空,我们需要支持以 ...

最新文章

  1. Python实现固定效应回归模型实现因果关系推断
  2. linux系统编程_Linux系统编程:进程间通信
  3. Linux内核中工作队列的使用work_struct,delayed_work
  4. MySQL学习第三章练习题
  5. AI:IPPR的数学表示-CNN稀疏结构进化(Mobile、xception、Shuffle、SE、Dilated、Deformable)
  6. Spring集成–第1节– Hello World
  7. 信息学奥赛一本通 1028:字符菱形 | OpenJudge NOI 1.1 09
  8. 软件工程师工作内容和从业要求
  9. DevExpress chartControl 数据绑定
  10. CDN应用进阶 | 大文件下载及视频点播的CDN加速实践
  11. 教你如何布置家庭影院
  12. win10从网络访问计算机没有guest,简单几步解决win10没有权限访问网络资源的问题...
  13. 1688按关键词搜索示例
  14. 一个555振荡电路及其解释
  15. since it exceeds Excel‘s limit of 65,530 URLS per worksheet
  16. opencv 手指位置检测
  17. Scala 继承和特质
  18. 未来计算机网络会发展成什么样子,计算机网络技术未来的发展与应用
  19. 啥是单点登陆?淘宝和天猫是如何实现同时登陆的?
  20. 【Typora】添加水印

热门文章

  1. TypeScript基础学习 —— 基础类型
  2. [转载] Web Service工作原理及实例
  3. 使用 python 3.6 和 Vmware WorkStation 构建一个小型虚拟局域网通讯程序
  4. Perl中的单行凝视和多行凝视
  5. jsp cookie 中文乱码 的解决方法
  6. 美好生活从java开始
  7. js基础-字符串常用属性合集
  8. 计算机网络---物理层
  9. jQuery遇到问题的小记
  10. Javascript、Jquery获取浏览器和屏幕各种高度宽度[mark]