当前位置:网站首页>8VC Venture Cup 2017 - Final Round C. Nikita and stack
8VC Venture Cup 2017 - Final Round C. Nikita and stack
2022-06-26 18:35:00 【No toast】
#include<bits/stdc++.h>
using namespace std;
#define X first
#define Y second
#define eps 1e-2
#define gcd __gcd
#define pb push_back
#define PI acos(-1.0)
#define lowbit(x) (x)&(-x)
#define bug printf("!!!!!\n");
#define mem(x,y) memset(x,y,sizeof(x))
typedef long long ll;
typedef long double LD;
typedef pair<int,int> pii;
typedef unsigned long long uLL;
const int maxn = 1e5+2;
const int INF = 1<<30;
const int mod = 1e9+7;
const int N=1e5+10;
struct node{
ll l,r,mx,lazy;
}tr[N<<2];
ll t,n,Q,a[N];
void pushup(ll x){
tr[x].mx=max(tr[x<<1].mx,tr[x<<1|1].mx);
}
void pushdown(ll x){
if(tr[x].lazy){
tr[x<<1].mx+=tr[x].lazy;
tr[x<<1|1].mx+=tr[x].lazy;
tr[x<<1].lazy+=tr[x].lazy;
tr[x<<1|1].lazy+=tr[x].lazy;
tr[x].lazy=0;
}
}
void build(ll p,ll l,ll r){
tr[p].l=l;tr[p].r=r;
if(l==r) return ;
ll mid=(l+r)>>1;
build(p<<1,l,mid);build(p<<1|1,mid+1,r);
pushup(p);
}
void update(ll p,ll l,ll r,ll val){
// cout<<tr[p].l<<" "<<tr[p].r<<" "<<l<<" "<<r<<endl;
if(tr[p].l>=l&&tr[p].r<=r){
tr[p].lazy+=val;
tr[p].mx+=val;
// if(tr[p].l==1) cout<<tr[p].mx<<" "<<val<<endl;
return ;
}
pushdown(p);
int mid=(tr[p].l+tr[p].r)>>1;
if(mid>=l) update(p<<1,l,r,val);
if(mid+1<=r) update(p<<1|1,l,r,val);
pushup(p);
}
ll query(int p){
if(tr[p].l==tr[p].r){
if(tr[p].mx<=0) return -1;
else return a[tr[p].l];
}
ll mid=(tr[p].l+tr[p].r)>>1;
pushdown(p);
int res=0;
if(tr[p<<1|1].mx>0) res=query(p<<1|1);
else res=query(p<<1);
pushup(p);
return res;
}
void solve(){
int m;scanf("%d",&m);
build(1,1,N);
// cout<<tr[3].l<<" "<<tr[3].r<<endl;
while(m--){
int op,x,y;scanf("%d%d",&x,&op);
if(op==1){
scanf("%d",&y);
update(1,1,x,1);a[x]=y;
}else{
update(1,1,x,-1);
}
// cout<<tr[1].mx<<endl;
printf("%lld\n",query(1));
}
return;
}
int main()
{
// freopen("in.txt","r",stdin);
// freopen("out.txt","w",stdout);
// ios::sync_with_stdio(false);
int t = 1;
//scanf("%d",&t);
while(t--){
// printf("Case %d: ",cas++);
solve();
}
return 0;
}
边栏推荐
- 50 lines of code to crawl TOP500 books and import TXT documents
- Micro service single sign on system (SSO)
- 新手炒股开户选哪个证券公司比较好?怎样炒股比较安全??
- (树) 树状数组
- 转:苹果CEO库克:伟大的想法来自不断拒绝接受现状
- Determine whether a sequence is a stack pop-up sequence
- Clion breakpoint single step debugging
- The eigen library calculates the angle between two vectors
- 成功解决之idea引用Lombok的@Slf4j后无法正常使用log
- 带你解决哈希冲突,并实现一个简单hash表,
猜你喜欢

In and exceptions, count (*) query optimization

Interview key points that must be mastered index and affairs (with B-tree and b+ tree)

Numpy's Matplotlib

Leetcode interview question 29 clockwise print matrix

零时科技 | 智能合约安全系列文章之反编译篇

你了解如何比较两个对象吗

Commodity seckill system

DVD-数字通用光盘

成功解决之idea引用Lombok的@Slf4j后无法正常使用log

IK分词器
随机推荐
Résumé des points de connaissance
9. Intelligent transportation project (2)
品达通用权限系统(Day 3~Day 4)
JVM入個門(1)
Summary of knowledge points
CLion断点单步调试
Request method 'POST' not supported
Comparing the size relationship between two objects turns out to be so fancy
To: Apple CEO Cook: great ideas come from constantly rejecting the status quo
刻录光盘的程序步骤
Deep understanding of MySQL lock and transaction isolation level
LeetCode 面试题29 顺时针打印矩阵
Leetcode 128 longest continuous sequence
Xlua get button registration click event of ugui
商品秒杀系统
必须要掌握的面试重点——索引和事务(附讲B-树与B+树)
[unity] use C in unity to execute external files, such as Exe or bat
Development principle analysis and source code of dapp-lp single and dual currency liquidity pledge mining system
xlua获取ugui的button注册click事件
Clion compiling catkin_ WS (short for ROS workspace package) loads cmakelists Txt problems