更美丽的lazy_tag
查看原帖
更美丽的lazy_tag
769863
_Lyk_def楼主2023/4/28 13:45

把加法和乘法tag写在一起,更美丽吧(

void lazy_tag(int p,int l,int r,int ak,int mk){
	tree[p]=(tree[p]*mk+ak*(r-l+1))%mod;
	mtag[p]=(mtag[p]*mk)%mod;
	atag[p]=(atag[p]*mk+ak)%mod;
}

void push_down(int p,int l,int r){
	int mid=(l+r)>>1;
	lazy_tag(ls(p),l,mid,atag[p],mtag[p]);
	lazy_tag(rs(p),mid+1,r,atag[p],mtag[p]);
	mtag[p]=1; atag[p]=0;
}

2023/4/28 13:45
加载中...