洛谷 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;
}


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


目录
相关文章
|
3月前
【每日一题Day361】LC2558从数量最多的堆取走礼物 | 大顶堆
【每日一题Day361】LC2558从数量最多的堆取走礼物 | 大顶堆
31 0
|
1月前
|
C++
【洛谷】P3378 【模板】堆
洛谷 P3378 【模板】堆
20 3
【洛谷】P3378 【模板】堆
|
3月前
|
存储 机器学习/深度学习 算法
数据结构与算法⑬(第四章_中_续二)堆解决Topk问题+堆的概念选择题
数据结构与算法⑬(第四章_中_续二)堆解决Topk问题+堆的概念选择题
41 3
|
3月前
|
存储 算法 C++
数据结构第十一弹---堆
数据结构第十一弹---堆
洛谷—模板字典树 P8306
洛谷—模板字典树 P8306
64 0
|
存储 算法 C语言
IT公司的吉祥“树” 二叉树-(堆)C语言创建(二)
IT公司的吉祥“树” 二叉树-(堆)C语言创建
64 0
|
存储 C语言
IT公司的吉祥“树” 二叉树-(堆)C语言创建(一)
IT公司的吉祥“树” 二叉树-(堆)C语言创建
84 0
|
算法
【数据结构与算法】堆的实现(附源码)(下)
【数据结构与算法】堆的实现(附源码)(下)
46 0
|
存储 算法
【数据结构与算法】堆的实现(附源码)(上)
【数据结构与算法】堆的实现(附源码)
59 0