网络流
wspl654321
。。。。。。
展开
-
最大流最小费用(模板)
在最大流上加了一个费用 用EK的方法先用spfa找最小费用的一个可行流,在一次次修改,与最大流思想一样,不过找最短路时需要建一个负边#include<cstdio> #include<iostream> #include<cstring> #include<queue> using namespace std; const int M=199999; int n,m,s,t;int dis[M]原创 2017-04-29 14:54:22 · 217 阅读 · 0 评论 -
最小顶标和与最大权值匹配
结论:不知为什么。 满足任意xi+xj>=cost[i][j] xi到xj连cost[i][j]的边 求出最大权值匹配就是最小顶标和 最大权职匹配可以用最大费用可行流原创 2019-06-12 21:22:17 · 419 阅读 · 0 评论 -
P3324 [SDOI2015]星际战争二分答案+网络流
直接二分答案用网络流判断就行了 #include<cstdio> #define ll long long #include<cstring> #include<queue> using namespace std; const int M=10000,inf=0x7fffffff; const ll INF=1ll<<60; int S,T,n...原创 2018-03-10 14:17:32 · 178 阅读 · 0 评论 -
网络流
P4016 负载平衡问题 我们对每个仓库创建两个节点XiX_iXi 和YiY_iYi ,前者为供应节点,后者为需求节点。求出最终要达到的货物值即平均数,然后把初始值处理成偏移值(初始值-平均数)。 偏移小于0。表明这个节点需要运入货物,将节点的XiX_iXi 与源点SSS 相连,容量为偏移,费用为0。 偏移大于0。表明这个节点需要运出货物,将节点的YiY_iYi 与汇点TTT 相连,容...原创 2018-02-22 20:41:01 · 128 阅读 · 0 评论 -
bzoj 4819 [sdoi] 新生舞会
明显的分数规划,二分一个答案 然后再二分图匹配 #include<cstdio> #include<cstring> #include<queue> using namespace std; const int M=210;queue<int>q;const double INF=20000000.0; int n,S,T,mflow;bool...原创 2018-02-28 19:17:05 · 142 阅读 · 0 评论 -
晨跑
#include<cstdio> #include<iostream> #include<cstring> #include<queue> using namespace std; const int M=199999; int n,m,s,t;int dis[M];; int nex[M],head[M],cos[M],to[M],tot,pre[M],cap[M],vis[M],flo[M],i原创 2017-05-22 22:36:54 · 429 阅读 · 2 评论 -
bzoj 工作安排(最小费用最大流)
裸的最小费用最大流思路是弄一个原点,弄一个会点,将原点连上物品容量为c[i],费用为零,将物品和人按a数组的关系连起来,容量为INF,花费为零,然后将人和会点连起来容量为他做几件物品,也就是ss[j]-ss[j-1],花费为他做这几件的愤怒值,再跑最大流最小费用算法就行了;复制代码includeincludeincludeincludedefine LL long longusing namespa原创 2017-05-22 22:40:30 · 248 阅读 · 0 评论 -
最大流(模板)
最大流就是建一个反向边,所以说正向边加反向边之和就等于你一开始输入的值 1.EK(Edmond—Karp)算法 也就是广搜版#include<cstdio> #include<iostream> #include<cstring> using namespace std; const int M=1999999,INF=999999999; int n,m,s,t,used[M]; int f原创 2017-04-20 16:08:37 · 309 阅读 · 0 评论 -
最大流(模板)
最大流就是建一个反向边,所以说正向边加反向边之和就等于你一开始输入的值,然后找一条增广路,找出最小的cos,把最大流tot加上cos,然后正向边减cos,反向边加cos,这样可以修正错误,因为其实你不用这样流,可你这样流了,就这样直到找不到增广路,就找不到更多的流量了,这时的值就是最大的,其实就是一次一次添流量,直到不能添了 1.EK(Edmond—Karp)算法 也就是广搜版#include<原创 2017-04-21 15:56:28 · 172 阅读 · 0 评论 -
最大流最小割定理证明
对于一个图集合G(V,W),V是边,W是点,对于一个源点s属于W,一个汇点t属于W,有一个割(S,T),指的是断开几条边v将s与t分在两个集合里。 在上面那个图里的虚线就是一个割! 上面那个图里就不能作为一个割,因为s和t在一个集合里。原创 2017-04-28 16:28:22 · 785 阅读 · 0 评论 -
费用刘
二分一个费用 限制上限,跑最大流 // luogu-judger-enable-o2 #include<cstdio> #define ll long long #include<cstring> #include<queue> using namespace std; const int M=10000,inf=0x7fffffff; const l...原创 2018-03-31 18:41:03 · 131 阅读 · 0 评论