捞一波
查看原帖
捞一波
917683
rnf5114楼主2023/12/29 09:17
#include <iostream>
using namespace std;
long long biao1[4000010],biao2[4000010],ans[4000010];
int n,q,a[1000010],l[4000010],r[4000010],qwq[4000010],awa[4000010];
void maketree(int p,int l,int r){
	if(l==0||r==0)
		return ;
	if(l>r)
		return ;
	if(l==r){
		qwq[p]=l;
		awa[p]=r;
		ans[p]=a[l];
		biao1[p]=a[l];
		return ;
	}
	qwq[p]=l;
	awa[p]=r;
	maketree(2*p,l,(l+r)/2);
	maketree(2*p+1,(l+r)/2+1,r);
	ans[p]=max(ans[p*2],ans[p*2+1]);
	return ;
}
void apply(int p,int k1,int k2){
	if(k1!=-1e16-10){
		biao2[p]=0;
		biao1[p]=k1;
		ans[p]=k1;
	}
	biao2[p]+=k2;
	ans[p]+=k2;
	return ;
}
void pushdown(int p,int l,int r){
	apply(2*p,biao1[p],biao2[p]);
	apply(2*p+1,biao1[p],biao2[p]);
	biao1[p]=-1e16-10;
	biao2[p]=0;
	return ;
}
void pushup(int p){
	ans[p]=max(ans[2*p],ans[2*p+1]);
	return ;
}
void cao2(int p,int l,int r,int lx,int rx,int k){
	if(r<lx||l>rx)
		return ;
	if(lx<=l&&r<=rx){
		apply(p,-1e16-10,k);
		return ;
	}
	pushdown(p,l,r);
	cao2(2*p,l,(l+r)/2,lx,rx,k);
	cao2(2*p+1,(l+r)/2+1,r,lx,rx,k);
	pushup(p);
	return ;
}
void cao1(int p,int l,int r,int lx,int rx,int k){
	if(r<lx||l>rx)
		return ;
	if(lx<=l&&r<=rx){
		apply(p,k,0);
		return ;
	}
	pushdown(p,l,r);
	cao1(2*p,l,(l+r)/2,lx,rx,k);
	cao1(2*p+1,(l+r)/2+1,r,lx,rx,k);
	pushup(p);
	return ;
}
long long cao3(int p,int l,int r,int lx,int rx){
	if(r<lx||l>rx)
		return -1e16-10;
	if(lx<=l&&r<=rx){
		return ans[p];
	}
	pushdown(p,l,r);
	ans[p]=max(cao3(2*p,l,(l+r)/2,lx,rx),cao3(2*p+1,(l+r)/2+1,r,lx,rx));
	return ans[p];
}
int main(){
	cin>>n>>q;
	for(int i=0;i<=4000005;i++){
		ans[i]=-1e16;
		biao1[i]=-1e16;
	}
	for(int i=1;i<=n;i++){
		cin>>a[i];
	}
	maketree(1,1,n);
	while(q--){
		int op,x,y,k;
		cin>>op;
		if(op==1){
			cin>>x>>y>>k;
			cao1(1,1,n,x,y,k);
		}
		if(op==2){
			cin>>x>>y>>k;
			cao2(1,1,n,x,y,k);
		}
		if(op==3){
			cin>>x>>y;
			cout<<cao3(1,1,n,x,y)<<endl;
		}
	}
    return 0;
}


/*
       ┏┓   ┏┓
     ┏┛┻━━━┛┻┓
     ┃       ┃
     ┃   ━   ┃
     ┃ ┳┛ ┗┳ ┃
     ┃       ┃
     ┃   ┻   ┃
     ┃       ┃
     ┗━┓   ┏━┛Codes are far away from bugs with the animal protecting
         ┃   ┃    神兽保佑,代码无bug
         ┃   ┃
         ┃   ┗━━━┓
         ┃      ┣┓
         ┃     ┏┛
         ┗┓┓┏━┳┓┏┛
           ┃┫┫ ┃┫┫
           ┗┻┛ ┗┻┛     ○| ̄|_

*/


2023/12/29 09:17
加载中...