考虑有源汇上下界可行流:由汇向源连inf边,那么变成无源汇图,按上题做法跑出可行流.此时该inf边的流量即为原图中该可行流的流量.因为可以假装把加上去的那些边的流量放回原图. 此时再从原来的源向原来的汇跑最大流.超源超汇相关的边已经流满不会再退流,则下界可以满足,并且在此基础上增广是可以保证原图的流量平衡的.求出的最大流即为原图最大流.因为显然原图最大流=可行流流量+原图新增流量,而可行流流量等于汇到源流量,这部分在跑最大流的时候被退流并计入答案. #include<iostream> #in…
原题链接 Description 模板题啦~ Code //有源汇有上下界最大流 #include <cstdio> #include <cstring> #include <algorithm> using namespace std; inline char gc() { static char now[1<<16],*S,*T; if(S==T) {T=(S=now)+fread(now,1,1<<16,stdin); if(S==T) r…
[Loj116]有源汇有上下界最大流(网络流) 题面 Loj 题解 模板题. #include<iostream> #include<cstdio> #include<cstdlib> #include<cstring> #include<cmath> #include<algorithm> #include<set> #include<map> #include<vector> #include&…
点此看题面 大致题意: 给你每条边的流量上下界,让你先判断是否存在可行流.若存在,则输出最大流. 无源汇上下界可行流 在做此题之前,最好先去看看这道题目:[LOJ115]无源汇有上下界可行流. 大致思路 首先,我们先跑一遍无源汇上下界可行流,同时判断是否有解. 等会儿,这题是有源汇的,而刚才提到的可行流是无源汇的,怎么办? 答:没关系! 直接从汇点向源点连一条下界为\(0\).上界为\(INF\)的边,然后再按无源汇上下界可行流的套路建虚拟源汇做即可. 但还有个问题,这样跑出来的肯定不是最大流,…
描述 ensokyo is a world which exists quietly beside ours, separated by a mystical border. It is a utopia where humans and other beings such as fairies, youkai(phantoms), and gods live peacefully together. Shameimaru Aya is a crow tengu with the ability…
题目大概给一个电路,电路上有n+2个结点,其中有两个分别是电源和负载,结点们由m个单向的部件相连,每个部件都有最少需要的电流,求使整个电路运转需要的最少电流. 容量网络的构建很容易,建好后就是一个有源汇流量有上下界网络的最小流问题,解法如下: 同无源汇上下界网络可行流一样建图,见ZOJ2314,然后从附加源到附加汇跑最大流 连汇点到源点容量INF的边,再从附加源到附加汇跑最大流 最后汇点到源点那条边的流量就是最小流了,因为这条边的流量和源点出发的流量总和相等. 为什么这么做,我也不知道.. #i…
题目大概说在n天里给m个女孩拍照,每个女孩至少要拍Gi张照片,每一天最多拍Dk张相片且都有Ck个拍照目标,每一个目标拍照的张数要在[Lki, Rki]范围内,问最多能拍几张照片. 源点-天-女孩-汇点,这样子建容量网络.然后就是求这个有源汇流量有上下界容量网络的最大流: 首先计算其可行流,POJ2396 然后删除附加源.附加汇以及汇点到源点容量INF的边 最后从源点到汇点跑一边最大流即可 #include<cstdio> #include<cstring> #include<…
[题目链接] https://vijos.org/p/1213 [题意] m个人将n个点访问完,每个点能且只能访问v次,点点之间存在有权边,问最小费用. [思路] 有源汇的上下界最小费用最大流. 每个点只能访问v次,可以拆点后点点之间连一条上下界均为v费用为0的边.对于上下界依旧选择用ST平衡流量.然后连费用边.最后连一条(S,s,m,0)的边,表示s只能有m的出流量. [代码] #include<set> #include<cmath> #include<queue>…
[题目链接] http://poj.org/problem?id=2396 [题意] 知道一个矩阵的行列和,且知道一些格子的限制条件,问一个可行的方案. [思路] 设行为X点,列为Y点,构图:连边(s,Xi,sumXi,sumXi)(Yi,t,sumYi,sumYi)(Xi,Yj,down[i][j],up[i][j]). 则问题就是求一个有源汇点st的上下界可行流. 类似于 无源无汇上下界可行流 ,添加附加源汇点ST,边权转化为up-down,由ST向每个点连边保持流量平衡.然后添加(t,s,…
HDU 3157 Crazy Circuits 题目链接 题意:一个电路板,上面有N个接线柱(标号1~N),还有两个电源接线柱 + -.给出一些线路,每一个线路有一个下限值求一个能够让全部部件正常工作的总电流 没有则输出impossible 思路: 有源汇有上下界求最小流,建模方法为: 按无源汇先建图,跑超级源汇ss->tt一次.然后增加t->s,容量INF的边,在跑一次ss->tt,假设是满流.就有解,解为t->s边的当前流量 顺带写个最大流的,最大流就先把t->s增加直接…