用并查集维护,并记录之前是否形成过基环树。
对于每次建立连接的操作,判断节点 u 和节点 v 是否已经连通:
Yes
。
小红想在 n 个节点间建立通道,并询问每次添加通道后,所连接的两个节点是否属于形成基环树的连通块。基环树定义为具有 n 个节点和 n 条边的无向连通图,不包含重边和自环。
第一行包含两个正整数 n 和 m,n 代表节点数量,m 代表小红计划建立的通道数量。
接下来 m 行,每行输入两个正整数 u 和 v,代表建立的通道连接节点 u 和节点 v。
对于每次建立的通道,输出一行结果。如果节点 u 和节点 v 所在的连通块形成了一棵基环树,则输出 Yes
,否则输出 No
。
5 5
1 2
1 3
2 3
4 5
4 5
No
No
Yes
No
No