网络流基本算法
_Shmily
这个作者很懒,什么都没留下…
展开
-
P6577 【模板】二分图最大权完美匹配
P6577 【模板】二分图最大权完美匹配 ①、进阶指南上说他的KM算法的时间复杂度是O(N3)的,其实分析一下,就可以发现,它的时间复杂度其实是O(N4)的,这题过不去。 只能过去四个点。 #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> #include<cmath> #include<queue> #include<set>原创 2020-08-24 21:59:57 · 404 阅读 · 0 评论 -
最大权闭合子图:
正权点之和减去最小割。 例题:Firing POJ - 2987: You’ve finally got mad at “the world’s most stupid” employees of yours and decided to do some firings. You’re now simply too mad to give response to questions like “D...原创 2020-08-24 20:59:35 · 132 阅读 · 0 评论 -
二分图的覆盖与独立集
一、二分图最小点覆盖: 给定一张二分图,求出一个最小的点集S,使得图中任意一条边都有至少一个端点属于S。这个问题被称为二分图的最小点覆盖,简称最小覆盖。 Konig定理: 二分图最小点覆盖包含的点数等于二分图最大匹配包含的边数。 证明: 首先,因为最大匹配是原二分图边集的一个子集,并且所有的边都不相交,所以至少需要从...原创 2020-08-24 18:17:02 · 653 阅读 · 0 评论 -
二分图的匹配
一、二分图的判定: 如果一张图的N个节点可以分成A,B两个非空集合,其中A∩B=空集,并且在同一集合内的点之间都没有边相连,那么称这张无向图为一张二分图。A,B分别称为二分图的左部和右部。 定理: 一张无向图是二分图,当且仅当图中不存在奇环(长度为奇数的环)。 根据该定理,我们可以用染色法进行二分图的判定。大致思想为:尝试用黑白两种...原创 2020-08-24 18:15:47 · 1552 阅读 · 0 评论 -
P3381 【模板】最小费用最大流
题目链接 题面: 代码: #include<iostream> #include<cstdio> #include<algorithm> #include<cstring> #include<cmath> #include<string> #include<queue> #define ll long long using namespace std; const int maxn=5010; const int maxm原创 2020-08-24 22:26:17 · 97 阅读 · 1 评论 -
有源汇的上下界最大/小流
(一)#116. 有源汇有上下界最大流 #include<iostream> #include<cstdio> #include<algorithm> #include<cstring> #include<cmath> #include<string> #include<queue> #define ll long long #define llu unsigned ll using namespace std; cons原创 2020-08-24 21:59:01 · 258 阅读 · 0 评论 -
P4722 【模板】最大流 加强版 / 预流推进
P4722 【模板】最大流 加强版 / 预流推进 抄一下马哥板子啦: 自己也不理解,太垃圾了,只能抄马哥板子。 马哥的板子也T了,可能是我脸太黑。。 然后就去抄了个板子。。。这真的是抄的。。。 一点也看不懂。。 #include<iostream> #include<cstdio> #include<algorithm> #include<cstring> #include<cmath> #include<string> #includ原创 2020-08-24 21:58:21 · 209 阅读 · 0 评论 -
网络流初步
一、简介: 网络流是图论中一个博大精深的分支。若要详细的学习网络流的各种模型与应用,需要不少时间。本篇文章的学习希望我自己可以建立对网络流的初步认识,内容比较浅显,少部分算法和证明的细节会被省略。 一个网络G=(V , E)是一张有向图,图中每条有向边(x,y)∈E都有一个给定的权值c(x,y),称为边的容量。特别的,若(x,y)...原创 2020-08-24 18:18:39 · 352 阅读 · 1 评论