在dfs末尾应删除加入的边
常见错误:
if(flag){
if(l==r){
cout<<"Yes"<<endl;
}else{
query(l,(l+r)>>1,id<<1);
query(((l+r)>>1)+1,r,id<<1|1);
}
}
while(cnt--){
t=st.back();
f[t.first]=t.first;
sz[t.second]-=sz[t.first];
}
if(flag){
if(l==r){
cout<<"Yes"<<endl;
return;
}else{
query(l,(l+r)>>1,id<<1);
query(((l+r)>>1)+1,r,id<<1|1);
}
}
while(cnt--){
t=st.back();
st.pop_back();
f[t.first]=t.first;
sz[t.second]-=sz[t.first];
}