题目大概给一个电路,电路上有n+2个结点,其中有两个分别是电源和负载,结点们由m个单向的部件相连,每个部件都有最少需要的电流,求使整个电路运转需要的最少电流. 容量网络的构建很容易,建好后就是一个有源汇流量有上下界网络的最小流问题,解法如下: 同无源汇上下界网络可行流一样建图,见ZOJ2314,然后从附加源到附加汇跑最大流 连汇点到源点容量INF的边,再从附加源到附加汇跑最大流 最后汇点到源点那条边的流量就是最小流了,因为这条边的流量和源点出发的流量总和相等. 为什么这么做,我也不知道.. #i…
题目大概说在n天里给m个女孩拍照,每个女孩至少要拍Gi张照片,每一天最多拍Dk张相片且都有Ck个拍照目标,每一个目标拍照的张数要在[Lki, Rki]范围内,问最多能拍几张照片. 源点-天-女孩-汇点,这样子建容量网络.然后就是求这个有源汇流量有上下界容量网络的最大流: 首先计算其可行流,POJ2396 然后删除附加源.附加汇以及汇点到源点容量INF的边 最后从源点到汇点跑一边最大流即可 #include<cstdio> #include<cstring> #include<…
题目大概给一个有n×m个单元的矩阵,各单元是一个非负整数,已知其每行每列所有单元的和,还有几个约束条件描述一些单元是大于小于还是等于某个数,问矩阵可以是怎样的. 经典的流量有上下界网络流问题. 把行.列看成点,各单元看成边 源点向各行连容量下界0上界该行和的边,各列向汇点连容量下界0上界该列和的边 对于各单元,其对应行列表示的边间连下界上界和约束条件对应的边 这样就是求解这个网络的可行流,可以通过汇点向源点连容量INF的边,使各个顶点都满足平衡条件,这样转化成无源汇有上下界网络流来求解. 最后就…
题目大概说一个核反应堆的冷却系统有n个结点,有m条单向的管子连接它们,管子内流量有上下界的要求,问能否使液体在整个系统中循环流动. 本质上就是求一个无源汇流量有上下界的容量网络的可行流,因为无源汇的容量网络上各个顶点都满足流量平衡条件,即所有点的∑流入流量=∑流出流量,可以看成里面的流是循环流动的,类似有向图欧拉回路. 而带上下界的网络可行流的求法,是根据网络流中一个流是可行流的充分必要条件——限制条件和平衡条件,去改造原网络,转化成不带下界的容量网络来求解的.数学模型那些证明之类的不难理解,见…
Description You’ve just built a circuit board for your new robot, and now you need to power it. Your robot circuit consists of a number of electrical components that each require a certain amount of current to operate. Every component has a + and a −…
收获: 1. 上下界网络流求最大流步骤: 1) 建出无环无汇的网络,并看是否存在可行流 2) 如果存在,那么以原来的源汇跑一次最大流 3) 流量下界加上当前网络每条边的流量就是最大可行流了. 2. 输出方案: 可以把边的位置信息一起存在边表中,求完最大流后遍历一下边,把信息更新过去. #include <cstdio> #include <cstring> #define min(a,b) ((a)<(b)?(a):(b)) #define oo 0x3f3f3f3f #de…
题意:一个电路板,上面有N个接线柱(标号1~N)   还有两个电源接线柱  +  - 然后是 给出M个部件正负极的接线柱和最小电流,求一个可以让所有部件正常工作的总电流. 析:这是一个有源汇有上下界的最小流. 有源汇有上下界最大流: 1.构造附加网络 2.对ss.tt求最大流(ss.tt满流则有解) 3.若有解,对s.t求最大流 有源汇有上下界最小流: 1.构造附加网络(不添加[t,s]边) 2.对ss.tt求最大流 3.添加[t,s]边 4.对ss.tt求最大流 5.若ss.tt满流,则[t,…
2502: 清理雪道 Time Limit: 10 Sec  Memory Limit: 128 MB Description        滑雪场坐落在FJ省西北部的若干座山上. 从空中鸟瞰,滑雪场可以看作一个有向无环图,每条弧代表一个斜坡(即雪道),弧的方向代表斜坡下降的方向. 你的团队负责每周定时清理雪道.你们拥有一架直升飞机,每次飞行可以从总部带一个人降落到滑雪场的某个地点,然后再飞回总部.从降落的地点出发,这个人可以顺着斜坡向下滑行,并清理他所经过的雪道. 由于每次飞行的耗费是固定的,…
[BZOJ2502]清理雪道 Description        滑雪场坐落在FJ省西北部的若干座山上. 从空中鸟瞰,滑雪场可以看作一个有向无环图,每条弧代表一个斜坡(即雪道),弧的方向代表斜坡下降的方向. 你的团队负责每周定时清理雪道.你们拥有一架直升飞机,每次飞行可以从总部带一个人降落到滑雪场的某个地点,然后再飞回总部.从降落的地点出发,这个人可以顺着斜坡向下滑行,并清理他所经过的雪道. 由于每次飞行的耗费是固定的,为了最小化耗费,你想知道如何用最少的飞行次数才能完成清理雪道的任务. In…
题目链接 题意:有n个节点,m个用电器.之后输入m行每行三个整数a,b,c; 节点a为正极(或者a 为 '+'即总的正极),b为该用电器的负极(b = '-'表示总的负极),c为该用电器要正常工作最小的电流: 问要使得该电路中的所有的电器都工作,总正极至少输入多大的电流?如果不存在方案,输出impossible; 思路:将下界归零后使用超级源点和汇点平衡流量,跑最大流之后,加一条题目的源点0和汇点n+1,即总正极和总负极连一条反向的容量为inf的边,再次跑最大流: 如果满足流量平衡,则添加的反向…