随笔分类 - 网络流相关
网络流相关
摘要:参考cz_xuyixuan的营员交流。 #include<bits/stdc++.h> #define fo(i, x, y) for(int i = x, _b = y; i <= _b; i ++) #define ff(i, x, y) for(int i = x, _b = y; i < _
阅读全文
摘要:https://darkbzoj.tk/problem/2095 https://blog.csdn.net/commonc/article/details/52442882 题解: pty说做过,但我不知道什么做过。 考虑二分答案,问题转换这个: 有一些有向边和无向边,你要给无向边定向,使得每个点
阅读全文
摘要:http://uoj.ac/problem/217 题解: 考虑查询一个区间,遍历到的叶子一定是右儿子、右儿子、……、左儿子、左儿子。 反过来,值域连续的这样的若干节点也唯一对应一个区间。 所以右儿子给值域相邻的右、左儿子连边,左儿子只给左儿子连边,问题相当于最小路径覆盖(每个点可以被覆盖无限次,有
阅读全文
摘要:DAG最小不可相交路径覆盖 将每个点拆成$x,x'$ 若$x y$有边,则$x和y'$连边。 最小不可路径覆盖=点数 二分图最大匹配 简略证明: 考虑一开始每个点自成一条路径,答案是n条路径。 每在二分图上完成一个匹配,则把两个点代表的路径合并成1条路径,路径数 1。 要路径数最少,所以匹配数要最大
阅读全文
摘要:https://loj.ac/problem/2574 这个题目描述扎心了。 简要题意: 用n+1条可以相交的路径去覆盖DAG,使得没被覆盖的点的权值的最小值最大。 首先二分答案,问题转换为有一些点一定要被覆盖,问n+1条路径内有没有解。 这个可以暴力费用流,每个点拆成两个点,$i i',r=1$,
阅读全文
摘要:https://loj.ac/problem/2979 这个题直接建图$O((nm)^2)$的边数,考虑对每个环加一些中转点,就变成了$O(n^2m+nm^2)$,然后就是跑费用流了。 先放出三个算法的submission: SPFA后单路增广:https://loj.ac/submission/7
阅读全文
摘要:https://www.luogu.com.cn/problem/P3329 最小割树的用处不仅是做这些裸题,了解这个定理,会对一类问题有更深的思考。 最小割树的实现: 每次取两个点u,v,求它们的割,并在最小割树上给它们连边,权值为这个割。 然后按照S能走到的和能走到T的,分成两类点,继续递归建树
阅读全文
摘要:参考博客: https://www.cnblogs.com/Miracevin/p/11151822.html https://blog.csdn.net/litble/article/details/88410435 https://www.cnblogs.com/uid001/p/1134856
阅读全文
摘要:0 在用网络流解线性规划前,我们需要明白网络流本质上是一个什么样的线性规划? 网络流的每条边的流量相当于一个未知数$x$,$0=A[i]$ 不等式不是很能网络流,我们添加变量$a[i] =0$把不等式变成等式: $\sum x[i] [s[i]0$,$S j, r = y$。 $yT,r y$。 最
阅读全文
摘要:KM算法用于解决二分图最大权匹配问题,这个问题应该是可以用费用流就解决的。 近期遇到了用KM算法去解不等式的题,虽然转换完后还是可以用费用流做,学习中感觉到顶标挺有用的。 学习自: https://blog.csdn.net/c20180630/article/details/71080521 ht
阅读全文

浙公网安备 33010602011771号