萌新真心求助
查看原帖
萌新真心求助
445864
美少女☁楼主2021/3/27 16:57
void update1(int node,int L,int R,int l,int r)
{
	if(L>r||R<l) return ;
	if(L==R)
	{
		t[node].sum ^= 1;
		return ;
	}
	int mid = L+R>>1;
	update1(node_l,L,mid,l,r);
	update1(node_r,mid+1,R,l,r);
	t[node].sum = t[node_l].sum+t[node_r].sum;
}

这样写update,前4个点AC,后面的全部超时,为啥啊

void update1(int node,int L,int R,int x)
{
	if(L==R)
	{
		t[node].sum ^= 1;
		return ;
	}
	int mid = L+R>>1;
	if(x<=mid) update1(node_l,L,mid,x);
	else update1(node_r,mid+1,R,x);
	t[node].sum = t[node_l].sum+t[node_r].sum;
}

但是这样写就不超时了,AC了,看不出来啊

2021/3/27 16:57
加载中...