随笔分类 - OI / 网络流 / 网络流 - 最小割
摘要:问题描述 Kiana 最近喜欢到一家非常美味的寿司餐厅用餐。 每天晚上,这家餐厅都会按顺序提供 \(n\) 种寿司,第 \(i\) 种寿司有一个代号 \(a_i\) 和美味度 \(d_{i, i}\),不同种类的寿司有可能使用相同的代号。每种寿司的份数都是无限的,Kiana 也可以无限次取寿司来吃,
阅读全文
摘要:问题描述 "BZOJ2127" "LG1646" 题解 和文理分科差不多 收益最大 损失最小 最小割 分别新建点表示互相关系就行了 $\mathrm{Code}$
阅读全文
摘要:问题描述 "BZOJ3894" "LG4313" 题解 显然一个人只能选文/理 一个人只能属于文(S)、理(T)集合中的一个 可以把选择文得到 $art$ 的收益看做选择文失去 $science$ 的收益,也就是最小割了。 考虑如何处理周围人都选 对于文科,再新建一个 $(i,j)'$ ,从 S 向
阅读全文
摘要:问题描述 一张 $N$ 个点无向图,边权都为 $1$ ,添加若干条边,最小化 $\sum\limits_{1 \le i \le n,i \in N_{+}}{(a_i b_i)^2}$。 $b_i$ 是输入的, $a_i$ 是 $1$ 号点到 $i$ 号点的最短路。 "submit" 题解 添加边
阅读全文
摘要:问题描述 提供中文版本好评,一直以为 Rin 是题目名字... "pdf" "submit" 题解 参考了 东营市胜利第一中学姜志豪 的《网络流的一些建模方法》(2016年信息学奥林匹克中国国家队候选队员论文) 读了之后很有感触,这里节选一段话: 最小割模型的本质是将点的集合 $V$ 划分为两个点集
阅读全文
摘要:问题描述 "BZOJ3144" "LG3227" 还想粘下样例 输入: 输出: 题解 关于离散变量模型,我不想再抄一遍,所以: 对于样例,可以建立出这样的图 这是一个最小割模型,哪条边满流就代表在这个位置选择了哪个值。 网络流的主要思想就是通过点互化,将限制条件在边上体现出来。 所以比 $[1,r]
阅读全文
摘要:问题描述 "BZOJ1391" "LG4177" 题解 最大权闭合子图,本质是最小割 在任务和机器中间的边之前权值设为INF,代表不可违背这条规则 本题的租借就相当于允许付出一定代价,违背某个规则,只需要把中间的边权改为代价即可。 $\mathrm{Code}$
阅读全文
摘要:问题描述 "BZOJ2007" "LG2046" 题解 发现左上角海拔为 $0$ ,右上角海拔为 $1$ 。 上坡要付出代价,下坡没有收益,所以有坡度的路越少越好。 所以海拔为 $1$ 的点,和海拔为 $0$ 的点,一定能够在这个网格图中由一条连续的线划分为两个集合。 将一个图中的所有结点划分为两个
阅读全文
摘要:问题描述 "BZOJ1001" "LG4001" 题解 平面图最小割=对偶图最短路 假设起点和终点间有和其他边都不相交的一条虚边。 如图,平面图的若干条边将一个平面划分为若干个图形,每个图形就是对偶图中的一个点。 对偶图中的每一个点,和它在平面图中每一个相邻的图形间有边,边权为原来分开它们的边的边权
阅读全文
摘要:问题描述 "LG1345" 题解 点边转化,最小割,完事。 $\mathrm{Code}$ cpp include using namespace std; template void read(Tp &x){ x=0;char ch=1;int fh; while(ch!=' '&&(ch '9'
阅读全文
摘要:问题描述 "LG1344" 题解 我太菜了,我一开始竟然没有看出这是个最小割裸题。。。 两个询问。 第一个询问,直接跑最小割就好了。 第二个询问,建图的时候边权建 $1$ ,代表割掉这条边需要 $1$ 的代价。 $\mathrm{Code}$ cpp include using namespace
阅读全文
摘要:问题描述 "LG2598" "BZOJ1412" 题解 看到要把狼和羊 两个 物种 分开 自然想到最小割。 发现$(x,y)$可以向上下左右走以获得贡献,所以建边:$(x,y),(x 1,y)$,$(x,y),(x,y 1)$,$(x,y),(x,y+1)$,$(x,y),(x+1,y)$(要在矩阵
阅读全文