题意:给你一个图,$q$ 次询问,判断只保留 $[l,r]$ 的边的子图是否是二分图,如果是,求出左部点的最大值。
考虑 $q=1$ 的情况,我们求出每个连通块的一个生成树,判断非树边两边的深度奇偶性是否不同,我们在过程中维护每个点的深度即可。考虑 $q>1$ 怎么办。
我们考虑莫队维护加删边操作,发现删除一条边是困难的,考虑回滚莫队,我们用可撤销并查集维护左部点最大值,点的深度的奇偶性。考虑合并两个连通块的操作。
假设我们要合并 $(u,v)$,而 $u,v$ 的树根分别是 $x,y$。
当 $x=y$ 时,判断二分图即可。
否则我们启发式合并,假设 $y$ 是较小的子树,我们会让 $fa_y\gets x$,由于实际的树边是 $x\to u\to v\to y$,那么 $dep_y=dep_u\oplus dep_v\oplus 1$。然后根据 $(u,v)$ 的深度合并左右部点即可。
总复杂度是 $O(Tq\sqrt m\log n)$。