当前位置: 首页 > news >正文

最小生成树(MST问题)

最小生成树(MST问题)

(稀疏图)Prim算法

使用邻接矩阵存图,以 \(\mathcal{O}(N^2+M)\) 的复杂度计算,思想与 \(\tt djikstra\) 基本一致。

const int N = 550, INF = 0x3f3f3f3f;
int n, m, g[N][N];
int d[N], v[N];
int prim() {ms(d, 0x3f); //这里的d表示到“最小生成树集合”的距离int ans = 0;for (int i = 0; i < n; ++ i) { //遍历 n 轮int t = -1;for (int j = 1; j <= n; ++ j)if (v[j] == 0 && (t == -1 || d[j] < d[t])) //如果这个点不在集合内且当前距离集合最近t = j;v[t] = 1; //将t加入“最小生成树集合”if (i && d[t] == INF) return INF; //如果发现不连通,直接返回if (i) ans += d[t];for (int j = 1; j <= n; ++ j) d[j] = min(d[j], g[t][j]); //用t更新其他点到集合的距离}return ans;
}
int main() {ms(g, 0x3f); cin >> n >> m;while (m -- ) {int x, y, w; cin >> x >> y >> w;g[x][y] = g[y][x] = min(g[x][y], w);}int t = prim();if (t == INF) cout << "impossible" << endl;else cout << t << endl;
} //22.03.19已测试

(稠密图)Kruskal算法

平均时间复杂度为 \(\mathcal{O}(M\log M)\) ,简化了并查集。

struct DSU {vector<int> fa;DSU(int n) : fa(n + 1) {iota(fa.begin(), fa.end(), 0);}int get(int x) {while (x != fa[x]) {x = fa[x] = fa[fa[x]];}return x;}bool merge(int x, int y) { // 设x是y的祖先x = get(x), y = get(y);if (x == y) return false;fa[y] = x;return true;}bool same(int x, int y) {return get(x) == get(y);}
};
struct Tree {using TII = tuple<int, int, int>;int n;priority_queue<TII, vector<TII>, greater<TII>> ver;Tree(int n) {this->n = n;}void add(int x, int y, int w) {ver.emplace(w, x, y); // 注意顺序}int kruskal() {DSU dsu(n);int ans = 0, cnt = 0;while (ver.size()) {auto [w, x, y] = ver.top();ver.pop();if (dsu.same(x, y)) continue;dsu.merge(x, y);ans += w;cnt++;}assert(cnt < n - 1); // 输入有误,建树失败return ans;}
};
http://www.hskmm.com/?act=detail&tid=38002

相关文章:

  • 缩点(Tarjan 算法)
  • 常见概念
  • 单源最短路径(SSSP问题)
  • CNCF项目记录2025-10
  • 关于 vue项目 代理的坑;baseURL必须为空;代理才会生效
  • 点分治 / 树的重心
  • 最近公共祖先 LCA
  • QMPlayer2中的类,数据结构
  • QMPlayer2解析
  • 2025年10月广州单位办公室搬家公司全景解析报告,基于专业测评的技术、性能及市场优势深度分析
  • 附加数据文件失败:操作系统错误 5:“5(拒绝访问。)”。 CREATE DATABASE 失败。无法创建列出的某些文件名
  • 书评-谋杀黄昏
  • 20251024- 使用shell脚本分库定时备份MySQL数据
  • 权威调研榜单:东莞工厂装修公司OP3榜单好评深度解析
  • 徐州信息技术服务管理体系认证渠道口碑榜:聚焦机构资质、服务案例及合规性评估
  • 2025年口碑好的FPC离型纸,环氧胶离型纸推荐TOP生产厂家
  • 2025年口碑好的数字地磅,电子汽车衡地磅厂家推荐及选择建议
  • 二分
  • 权威调研榜单:四氟换热器生产厂家TOP3榜单好评深度解析
  • 2025年热门的魔方智能柜,黑金刚智能柜厂家推荐及选择指南
  • 2025年10月扬州公考面试机构全景解析报告,基于专业测评的技术、性能及市场优势深度分析
  • 2025年口碑好的空气能地暖管,德国品牌地暖管厂家最新TOP推荐榜
  • 2025 年企业邮箱供应商品牌最新推荐榜,聚焦技术实力与市场口碑深度解析
  • 2025年上海注册公司/上海代理记账公司最新推荐榜,聚焦企业服务品质与特色业务竞争力深度剖析
  • 2025 年接触角测量仪厂家最新推荐榜:聚焦企业专利技术、品质管控及知名客户合作案例的权威解析
  • 2025 年国内无缝钢管厂家最新推荐榜:20#/Q355 系列 / 合金管优质品牌权威测评及选购指南
  • 2025年诚信的不锈钢网片,304不锈钢网片厂家最新推荐排行榜
  • python type创建类
  • 2025 年伺服压装机生产厂家最新推荐榜:聚焦企业专利技术、品质管控及知名客户合作案例的权威解析
  • 2025年正规的PE防撞碳晶板,ABS防撞碳晶板推荐TOP生产厂家