傻逼奇偶优化莫队细节

pp-orange / 2024-11-13 / 原文

错误:

sort(qry+1,qry+1+q,[&](array<int,3> x,array<int,3> y) -> bool{
	if(bel[x[0]]==bel[y[0]])return (x[1]>y[1])^(bel[x[0]]&1);
	return bel[x[0]]<bel[y[0]];
});

正确:

sort(qry+1,qry+1+q,[&](array<int,3> x,array<int,3> y) -> bool{
	if(bel[x[0]]==bel[y[0]]){
		if(bel[x[0]]&1)return x[1]<y[1];
		else return x[1]>y[1];
	}
	return bel[x[0]]<bel[y[0]];
});