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

最小割树 Gomory-Hu Tree

最小割树 Gomory-Hu Tree

无向连通图抽象出的一棵树,满足任意两点间的距离是他们的最小割。一共需要跑 \(n\) 轮最小割,总复杂度 \(\mathcal O(N^3M)\) ,预处理最小割树上任意两点的距离 \(\mathcal O(N^2)\)

过程:分治 \(n\) 轮,每一轮在图上随机选点,跑一轮最小割后连接树边;这一网络的残留网络会将剩余的点分为两组,根据分组分治。

void reset() { // struct需要额外封装退流for (int i = 0; i < ver.size(); i += 2) {ver[i].w += ver[i ^ 1].w;ver[i ^ 1].w = 0;}
}signed main() { // Gomory-Hu Treeint n, m;cin >> n >> m;Flow<int> flow(n);for (int i = 1; i <= m; i++) {int u, v, w;cin >> u >> v >> w;flow.add(u, v, w);flow.add(v, u, w);}vector<int> vis(n + 1), fa(n + 1);vector ans(n + 1, vector<int>(n + 1, 1E9)); // N^2 枚举出全部答案vector<vector<pair<int, int>>> adj(n + 1);for (int i = 1; i <= n; i++) { // 分治 n 轮int s = 0; // 本质是在树上随机选点、跑最小割后连边for (; s <= n; s++) {if (fa[s] != s) break;}int t = fa[s];int ans = flow.work(s, t); // 残留网络将点集分为两组,分治adj[s].push_back({t, ans});adj[t].push_back({s, ans});vis.assign(n + 1, 0);auto dfs = [&](auto dfs, int u) -> void {vis[u] = 1;for (auto it : flow.h[u]) {auto [v, c] = flow.ver[it];if (c && !vis[v]) {dfs(dfs, v);}}};dfs(dfs, s);for (int j = 0; j <= n; j++) {if (vis[j] && fa[j] == t) {fa[j] = s;}}}for (int i = 0; i <= n; i++) {auto dfs = [&](auto dfs, int u, int fa, int c) -> void {ans[i][u] = c;for (auto [v, w] : adj[u]) {if (v == fa) continue;dfs(dfs, v, u, min(c, w));}};dfs(dfs, i, -1, 1E9);}int q;cin >> q;while (q--) {int u, v;cin >> u >> v;cout << ans[u][v] << "\n"; // 预处理答数组}
}
http://www.hskmm.com/?act=detail&tid=38017

相关文章:

  • 最小割
  • 差分约束
  • 图论常见结论及例题
  • 最长路(topsort+DP算法)
  • 二分图最大匹配
  • 最短路径树(SPT问题)
  • 欧拉路径/欧拉回路 Hierholzers
  • 无源汇点的最小割问题 Stoer–Wagner
  • CF2152G
  • 染色法判定二分图 (dfs算法)
  • 链式前向星建图与搜索
  • 一般图最大匹配
  • 平面图最短路(对偶图)
  • 多源汇最短路(APSP问题)
  • 最小生成树(MST问题)
  • 缩点(Tarjan 算法)
  • 常见概念
  • 单源最短路径(SSSP问题)
  • CNCF项目记录2025-10
  • 关于 vue项目 代理的坑;baseURL必须为空;代理才会生效
  • 点分治 / 树的重心
  • 最近公共祖先 LCA
  • QMPlayer2中的类,数据结构
  • QMPlayer2解析
  • 2025年10月广州单位办公室搬家公司全景解析报告,基于专业测评的技术、性能及市场优势深度分析
  • 附加数据文件失败:操作系统错误 5:“5(拒绝访问。)”。 CREATE DATABASE 失败。无法创建列出的某些文件名
  • 书评-谋杀黄昏
  • 20251024- 使用shell脚本分库定时备份MySQL数据
  • 权威调研榜单:东莞工厂装修公司OP3榜单好评深度解析
  • 徐州信息技术服务管理体系认证渠道口碑榜:聚焦机构资质、服务案例及合规性评估