求助此存图方式如何判断联通(用dfs)

P3366 【模板】最小生成树

@[lwx20211103](/user/727008) 卷题佬
by SnapYust @ 2023-07-03 22:57:03


@[lwx20211103](/user/727008) 用一个变量来存边的数量,每合并一次就++,当算完以后变量还是小于 $n-1$,那就输出`orz`
by SnapYust @ 2023-07-03 23:01:25


@[lwx20211103](/user/727008) ```cpp for (int i = 1; i <= m; i++) { if (Union (e[i].u, e[i].v)) { ans += e[i].w; cnt++; if (cnt == n - 1) { cout << ans; return 0; } } } cout << "orz" << endl; return 0; ```
by SnapYust @ 2023-07-03 23:02:04


@[SnapYust](/user/747475) 你是不是没有看到标题(
by lwx20211103 @ 2023-07-04 12:35:45


并查集吧,最方便了,正好Kruskal也会用到并查集,最后查一下是不是所有节点都是同一个根(蒟蒻别打qwq
by _venti @ 2023-08-07 19:57:21


|