【模板】最小割树(Gomory-Hu Tree)-bzoj2229&4519

本文介绍了最小割树的概念,及其在解决无向连通图中两点间最小割多次询问问题的应用。通过某定理证明了存在一棵树,使得树上的两点最小割等同于原图。详细阐述了最小割树的构造方法,并提供了构造过程中的注意事项。最后,给出了两道相关题目(bzoj2229, bzoj4519)的解题思路。" 121837623,8684891,Python爬虫实战:中国地铁数据可视化pyecharts实现,"['Python爬虫', '数据挖掘', '数据可视化', 'pyecharts', '数据分析']
摘要由CSDN通过智能技术生成

模板传送门:洛谷【模板】最小割树
相关的题目都很板。。。


题意

给定一个 n n n个点 m m m条边的无向连通图,多次询问两点之间的最小割。


题解

某定理:
n n n个点的图上,两点之间只有 n − 1 n-1 n1种本质不同的最小割。
所以存在一颗树,满足树上两点最小割等于原图上两点的最小割。
(不会证

最小割树的具体构造方法:
每次在点集中任选两个点分别作为源点和汇点跑最小割,在树中将这两个点连边,边权为最小割的值。将最小割划分出的两个互不相同的集合分别递归下去求解。

注意每次跑最小割都是在原图的基础上跑,所以要把每条边流量复原。

构造出树后,倍增回答即可。

还有另一种构造方法,这里有详细讲解。

原理比较显然,不再证明。


代码

#include<bits/stdc++.h>
u
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值