洛谷 P3378 【模板】堆

简介: 洛谷 P3378 【模板】堆

850c110101764df49ab42081fe8bfe35.png

这是一道简单的模板题,所以直接上AC代码!!!!

#define  _CRT_SECURE_NO_WARNINGS 1
 
#include <iostream>
#include <queue> //队列头文件
#include <vector> //动态数组头文件
#include <functional> //functional头文件
using namespace std;
 
// priority_queue 优先队列
// vector 动态数组
// greater 从大到小排序(less为从小到大排序)
 
priority_queue<int, vector<int>, greater<int> > pq; //创建优先队列
 
int main()
{
  int n = 0;
  cin >> n;
  while (n--)
  {
    int op = 0; //定义操作类型
    cin >> op;
    if (op == 1) // op == 1时将x加入队列
    {
      int x = 0;
      cin >> x;
      pq.push(x); // 在pq队列队尾处插入一个元素n O(logn)
                  // 并排序
    }
    else if (op == 2) // op == 2时,输出队列中最小数
    {
      cout << pq.top() << endl; //访问队头元素 O(1)
    }
    else if (op == 3) // op == 3时,删除队列中最小的一个数
    {
      pq.pop(); // 弹出队头元素 O(logn)
    }
  }
 
  return 0;
}


如果有不清楚的地方欢迎来讨论!!!!!


目录
相关文章
|
7月前
【每日一题Day361】LC2558从数量最多的堆取走礼物 | 大顶堆
【每日一题Day361】LC2558从数量最多的堆取走礼物 | 大顶堆
43 0
|
7月前
树状数组模板
树状数组模板
43 0
|
5月前
|
C++
【洛谷】P3378 【模板】堆
洛谷 P3378 【模板】堆
47 3
【洛谷】P3378 【模板】堆
|
7月前
|
存储 算法 C++
数据结构第十一弹---堆
数据结构第十一弹---堆
|
7月前
|
C语言
C语言第四十六弹---最快方法找到杨氏矩阵中的数下标
C语言第四十六弹---最快方法找到杨氏矩阵中的数下标
|
算法 UED
【牛客题霸】【模板】栈|栈的压入、弹出序列(上)
【牛客题霸】【模板】栈|栈的压入、弹出序列(上)
77 0
【牛客题霸】【模板】栈|栈的压入、弹出序列(上)
|
存储 算法 Java
LeetCode刷题155-简单-最小栈
LeetCode刷题155-简单-最小栈
144 0
LeetCode刷题155-简单-最小栈
|
存储 C语言
IT公司的吉祥“树” 二叉树-(堆)C语言创建(一)
IT公司的吉祥“树” 二叉树-(堆)C语言创建
103 0
|
存储 算法 C语言
IT公司的吉祥“树” 二叉树-(堆)C语言创建(二)
IT公司的吉祥“树” 二叉树-(堆)C语言创建
80 0
|
算法 容器
【牛客题霸】【模板】栈|栈的压入、弹出序列(下)
【牛客题霸】【模板】栈|栈的压入、弹出序列
81 0