随笔分类 -  最大流

 
上下界网络流模型常见解法
摘要:一、无源汇可行流1、设立虚拟源汇S、T,IN[i]记录i点流入下限的总和,OUT[i]记录i点流出下限总和2、两点间连容量为上限-下限的边3、sum=0,遍历所有点i,f=IN[i]-OUT[i]。如果f>0,sum+=f,add(S,i,f);否则,add(i,T,-f)4、如果S到T的最大流等于... 阅读全文
posted @ 2014-10-01 23:44 LegendaryAC 阅读(208) 评论(1) 推荐(0)
HDU 3605
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=3605用最大流做的,G++超时,C++可以过,看别人写的叫二分图多重匹配,还不会这玩意一会学学显然的最大流模型,n是100w,直接做最大流一定超时,但是注意到m只有10,所以可以对所有点进行状态压缩,状态相同的点可... 阅读全文
posted @ 2014-09-11 12:28 LegendaryAC 阅读(254) 评论(0) 推荐(0)
HDU 1565
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=1565先进行二分图黑白染色,S到黑,白到T,黑到白,问题转化成了求最大权独立集,最大点权独立集=sum-最小点权覆盖集,最小点权覆盖集等于上图最小割具体解释:二分图最小点覆盖和最大独立集都可以转化为最大匹配求解。在... 阅读全文
posted @ 2014-08-13 17:48 LegendaryAC 阅读(179) 评论(0) 推荐(0)
HDU 3046
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=3046典型的最小割模型#include #include #include using namespace std ;const int INF=0xfffffff ;struct node{ int s,... 阅读全文
posted @ 2014-08-13 12:40 LegendaryAC 阅读(166) 评论(0) 推荐(0)
HDU 4240
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=4240题意:求最大流和流量最大的一条路径的流量的比值题解:流量最大的路径的流量在dinic的dfs每次搜到终点的时候更新最大值#include #include #include #include #include... 阅读全文
posted @ 2014-08-12 00:44 LegendaryAC 阅读(219) 评论(0) 推荐(0)
HDU 4888
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=4888这题时限给的太短了,以至于卡了一些奇怪的东西,我开始先输入再建图一直T,一边输入一边连边就AC了题意:n*m的矩阵,每个点可以放0-k的数,给你每行每列的和,问可行否,可行的话解是否唯一,唯一则输出那组解网络... 阅读全文
posted @ 2014-08-03 16:12 LegendaryAC 阅读(772) 评论(0) 推荐(0)
HDU 3998
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=3998求LIS的长度,并且求有多少组互不相交的LIS求组数用最大流建图如下:if(dp[i]==1)add(S,i,1) ; if(dp[i]==ans)add(i+n,T,1) ;if(j>i && dp[j... 阅读全文
posted @ 2014-07-21 22:57 LegendaryAC 阅读(560) 评论(0) 推荐(0)
最大流之dinic
摘要:先用bfs预处理出层次图,然后在层次图上用dfs找增广路径,理论复杂度O(n*n*m)const int INF=0xfffffff ;struct node{ int s,t,cap,nxt ;}e[400005] ;int m,n,cnt,head[100005],level[100005... 阅读全文
posted @ 2014-05-01 13:40 LegendaryAC 阅读(157) 评论(0) 推荐(0)
最大流之EK
摘要:朴实的最大流算法View Code int EK(int s,int t){ int inf=0xfffffff ; int u,i,flow ; int ans=0 ; while(1) ... 阅读全文
posted @ 2012-10-11 16:19 LegendaryAC 阅读(177) 评论(0) 推荐(0)