首页 > 其他分享 >[ABC212D] Querying Multiset

[ABC212D] Querying Multiset

时间:2023-04-24 19:11:29浏览次数:54  
标签:Querying 题目 cin long ABC212D 编号 Multiset

2023-01-08

题目传送门

翻译

难度&重要性(1~10):1

题目来源

AtCoder

题目算法

模拟,优先队列

解题思路

用优先队列存储下加入的元素编号,对操作 \(2\) 把所有的 \(k\) 存在一起。

完成状态

已完成

易错点

注意,操作 \(2\) 只对已加入的编号 \(+k\)。所以在新加入编号时要先拿编号减去 \(k\),最后才能直接加 \(k\)。

Code

#include<bits/stdc++.h>
using namespace std;
long long n,m;
priority_queue<long long,vector<long long>,greater<long long>>q;
int main(){
	cin>>n;
    while(n--){
        long long int x,a;
        cin>>x;
        if(x==1){
            cin>>a;
            q.push(a-m);
        }else if(x==2){
            cin>>a;
            m+=a;
        }else{
            cout<<q.top()+m<<endl;
            q.pop();
        }
    }
	return 0;
}

标签:Querying,题目,cin,long,ABC212D,编号,Multiset
From: https://www.cnblogs.com/OIerBoy/p/17350572.html

相关文章

  • AtCoder Regular Contest 104 D Multiset Mean
    洛谷传送门AtCoder传送门很平凡的一道计数啊。考虑将所有数都减去\(x\),那么就要求选的数和为\(0\)。正负分开考虑,\(0\)可以任意选。需要多重背包求\(f_{i,j}\)表示选\(1\simi\)的数和为\(j\)的方案数。前缀和优化是平凡的。code//Problem:D-MultisetMean......
  • 0007容器之unordered_multiset
    #include<list>#include<iostream>#include<ve......
  • [ARC107D] Number of Multisets
    \(\text{Solution}\)学习到了一些\(dp\)的\(trick\)设\(f_{i,j}\)表示用了\(i\)的元素,当前和为\(j\)的方案数\(dp\)有两样不好处理的东西第一是当前和不一定......
  • 【CCCC】L3-002 特殊堆栈 (30分),nlogn维护序列中位数,STL大乱斗,有重multiset,vector+二
    problemL3-002特殊堆栈(30分)堆栈是一种经典的后进先出的线性结构,相关的操作主要有“入栈”(在堆栈顶插入一个元素)和“出栈”(将栈顶元素返回并从堆栈中删除)。本题要求你实......
  • Codeforces 1354 D. Multiset(树状数组)
    题意;要你实现一个求第k大数的数据结构。树状数组模板题。AC代码:constintN=1e6+50;inta[N];intn,q;voidadd(intp,intval){while(p<=n){a[p]+=va......
  • CF1400E Clear the Multiset 题解 贪心+分治
    题目链接:http://codeforces.com/problemset/problem/1400/E题目大意:给定一个长度为\(n\)数列\(\{a_n\}\),你可以进行如下操作:操作1:任意选择一个区间\([l,r]\),使区间内......
  • multiset
    c++语言中,multiset是<set>库中一个非常有用的类型,它可以看成一个序列,插入一个数,删除一个数都能够在O(logn)的时间内完成,而且他能时刻保证序列中的数是有序的,而且序列中可以......
  • Error querying database. Cause: org.apache.ibatis.executor.ExecutorException: E
    报错截图:  产生原因:把sqlsession定义为了成员变量  解决方法:将sqlsession定义在方法内 ......
  • STL----multiset,平衡二叉数
    《作用》查找,删除,增加节点基本上都是O(logn)多用在比如:vector或一般数组,我们知道如果用这些数据结构要维护一个序列有序,当我们要插入一个数到某个特定的位置那么最坏会......
  • codeforces 1354D - Multiset (线段树或者2分)
    题目大意:已知一个数列an,我们每次可以添加一个数k,或者把第k大的数字去掉。问我们经过k次操作后,数列中任意1个剩余的数字。n,q<=1e6解题思路:首先最简单的思路是线段树。线段......