不打比赛不知道

发布时间 2023-07-07 14:10:53作者: by_chance

记录那些弱智错误。

  • 父子两倍的线段树,若在修改和询问时要下传懒惰标记,则必须在检查完是否return之后再push_down,否则会数组越界。
void modify(int p,int l,int r,int L,int R){
	//push_down(p);错误
	if(l>=L&&r<=R){sum[p]=0;tag[p]=1;return;}
	push_down(p);//正确
	if(L<=mid)modify(ls,l,mid,L,R);
	if(R>mid)modify(rs,mid+1,r,L,R);
	push_up(p);
}

  • 计数问题中间尽可能都开long long。