关于hack数据
查看原帖
关于hack数据
160839
Prean楼主2020/12/17 12:43

RT,本人只有判断为非二分图时撤销了并查集,线段树递归结束后没有撤销,hack数据AC

link

inline void pop(const int&Prean){
	static int u,v;
	while(top!=Prean){
		u=stk[top].u;v=stk[top].v;
		f[u]=u;siz[v]-=siz[u];--top;
	}
}
void Solve(int u,int L=1,int R=k){
	int mid=L+R>>1,Prean=top;
	for(int&now:t[u]){
		int x=e[now].u,y=e[now].v,tx=Find(x),ty=Find(y);
		if(tx!=ty)Merge(x,y+n),Merge(x+n,y);
		else{
			for(register int i=L;i<=R;++i)printf("No\n");
			return pop(Prean);
		}
	}
	if(L==R)printf("Yes\n");
	else Solve(u<<1,L,mid),Solve(u<<1|1,mid+1,R);
}
/*
3 3 3
1 2 0 2
2 3 0 3
1 3 1 2
*/

希望管理员重造hack数据。

2020/12/17 12:43
加载中...