关于只能AC第二个点的一种可能情况
查看原帖
关于只能AC第二个点的一种可能情况
1132682
GUAIKATTO楼主2024/10/4 11:02
void lazy(int i,int size)
{
	sum[i] = size - sum[i];
	tag[i] = true;
}//修改前,只能AC点2

void lazy(int i,int size)
{
	sum[i] = size - sum[i];
	tag[i] ^= 1;
}//修改后,全部AC

按照原线段树模板,如果懒信息多次发到同一区间时,tag[i](表示该区间是否存有懒信息)应一直保持为true,而在本题中,同一区间经过第二次操作时,该区间将回到初始状态,懒信息应该清空,所以lazy函数中tag应该取1的异或,而不是设置为true

2024/10/4 11:02
加载中...