解析:
由于简单的以为每个极大联通子图做一个最小环套树就行了,写了只与正解差几行的 K r u s k a l Kruskal Kruskal求最小环套树,直接 50 p t s 50pts 50pts滚粗了。
然而我们要求的是环套树森林,一个极大联通子图可能生成多个环套树。
于是 P r i m Prim Prim就没法做了。我们只能考虑 K r u s k a l Kruskal Kruskal,同时在并查集的根节点上维护当前的联通块是简单树还是环套树。
显然合并环套树与环套树是不够优的。
简单树和环套树合并后的图是环套树。
简单树与简单树合并后的图仍然是简单树。
简单树内部加边就成了环套树。
只需要考虑上面四种情况,如果最后有节点不在环套树森林中,肯定无解。