这是一道模板题。
你要维护一张无向简单图(即没有自环,没有重边的无向图)。你被要求加入删除一条边及查询两个点是否连通。
- 0:加入一条边。保证它不存在。
- 1:删除一条边。保证它存在。
- 2:查询两个点是否联通。
为了保证做法的在线性,本题采用了特殊方式的读入。
假设你维护了一个变量 lastans
,初始值为 。
对于每个读入的节点 x
,实际上询问、修改的节点编号是 x ^ lastans
,其中 ^
操作是二进制异或操作。
对于每次解码之后查询 u v
,如果它们联通,那么 lastans
会被更新为 u
;否则会被更新为 v
。