CF1242B 0-1 MST 题解
本文迁移自洛谷原文。
水题,直接暴力就能过
由于图很大,所以就不能直接连边最小生成树
所以我们可以换一个角度考虑:
求出所有可以用0边连成的联通块,那么将这些联通快连起来,就可以构造出一颗最小生成树
那么怎么求联通快呢?
直接dfs是可以的!
但是需要剪枝
最短代码
set
由于只有一些边是1边,所以几次下来,就几乎全访问过了
map<int,int> g[]: 存所有的1边
1 |
|
本文迁移自洛谷原文。
水题,直接暴力就能过
由于图很大,所以就不能直接连边最小生成树
所以我们可以换一个角度考虑:
求出所有可以用0边连成的联通块,那么将这些联通快连起来,就可以构造出一颗最小生成树
那么怎么求联通快呢?
直接dfs是可以的!
但是需要剪枝
最短代码
set
由于只有一些边是1边,所以几次下来,就几乎全访问过了
map<int,int> g[]: 存所有的1边
1 | #include<bits/stdc++.h> |