摘要:
最小割. 显然按位拆分,然后对于有矛盾的连流量为 1 的边,代表如果然不同颜色需要花费 1 的代价. 跑一个最大流即可. code: #include <bits/stdc++.h> #define N 560 #define ll long long #define setIO(s) freope 阅读全文
摘要:
非常经典的最小割模型. code: #include <bits/stdc++.h> #define N 3006 #define ll long long #define setIO(s) freopen(s".in","r",stdin) using namespace std; const l 阅读全文
摘要:
这类最优化问题的本质是决策一个点选还是不选. 那么,我们可以用最小割帮我们决策到底选还是不选(因为最小割的本质是将元素划分成两个集合的最小代价) 然后每条边显然有断开的代价,描述出代价的关系和差量题就做出来了. code: #include <cstdio> #include <cstring> # 阅读全文
摘要:
吸氧才能过,写一个分治就行. 这里讲一下构造方法:考虑对点集 $U$ 求最小割树. 随便选取两个点 $u,v$ 然后跑一个 $u$ 到 $v$ 的最小割. 然后有两条性质: 对于 $U$ 中的每个点,一定被划分到了 $u$ 集合或 $v$ 集合(废话) 对于 $u$ 集合点到 $v$ 集合点的最小割 阅读全文