网络流
文章平均质量分 85
Albafica
研究生
方向:计算机网络
个人描述:完全没入门。SDN门外汉。痛苦的转型期。
展开
-
POJ1273 Drainage Ditches 网络最大流
网络最大流。Drainage DitchesTime Limit: 1000MS Memory Limit: 10000KTotal Submissions: 41550 Accepted: 15536DescriptionEvery time it rains on Farmer John's fields, a pon原创 2012-08-13 20:12:45 · 460 阅读 · 0 评论 -
POJ3189 Steady Cow Assignment 最大流+枚举
建图,牛到源点弧的容量为1,牛到牛棚弧的容量为1,牛棚到汇点弧的容量为相应棚的容量。枚举,每次枚举一个区间,如果该level区间内的图,所求出的最大流等于牛的数量,则输出区间的差值。Steady Cow AssignmentTime Limit: 1000MS Memory Limit: 65536KTotal Submissions: 4127原创 2012-08-23 20:09:58 · 738 阅读 · 0 评论 -
POJ2195 Going Home 最小费用流
算出每一个到每一个房子的距离后建图。源点与人连,容量1,费用0人与每个房子都要连,容量1,费用为距离每个房子与汇点连,容量1,费用0求一次最小费用即可另外此题数据的范围开大点。Going HomeTime Limit: 1000MS Memory Limit: 65536KTotal Submissions原创 2012-08-24 16:34:32 · 596 阅读 · 0 评论 -
POJ3422 Kaka's Matrix Travels 最大费用流+拆点
最大费用流。建图:1,对于每一个数字拆成两个点,之间连一条弧,容量为1,费用INF; 2,每两个能连通的点i和j 连(i,j) (i+n*n,j) (i,j+n*n) (i+n*n,j+n*n) 容量INF,费用0 3源点与1连,费用0,容量k,终点与n*n连,费用0容量k。然后求一个最大费用, Kaka's Matrix Trav原创 2012-08-24 15:21:43 · 1317 阅读 · 0 评论 -
POJ2516 Minimum Cost 最小费用流
此题一开始想错了算法,直接将k个物品放在一个网络中求了一次最小费用。直接TLE。。。。后来看了DISCUSS发现对于每一种物品分开求最小费用最大流。这样就降低了点的数量。每次费用流最坏的情况就是102个点,而之前一次求的话点最坏可能到5000,边的数量更加恐怖。。。。。。建图。对于第k种物品1:第i个商店和源点连,容量为相应物品的需求,费用为02:第i个仓库和汇点连,容量为相应原创 2012-08-24 23:06:57 · 641 阅读 · 0 评论 -
POJ 1698 Alice's Chance 网络流/匹配
这道题目即可以用网络流解决,也可以用匹配解决,但因为匹配要把代表一部电影的点按照天数拆成多个点,这里选用了网络流。总的点数 20+7*50+2=372构图:st=0,ed=371;1: 1-350 代表天数 与汇点相连连弧弧的容量为1,因为一天只能做一部电影2: 350-370 代表电影 与源点相连 连弧 弧的容量为电影完成的总天数3: 然后如果第i天能拍原创 2013-01-17 10:10:01 · 583 阅读 · 0 评论 -
ZOJ3691 Flower 最大流+拆点+二分
不喜欢读题的弱点暴露无遗,长时间接触简单的题目,能从数据一眼看出题目要求,问题比较严重。一开始看到3维坐标,再一看输出以为是道计算几何,所以直接没有去读题。。没想到是裸的最大流。。。。。这种毛病要改掉。 这次收到教训了这是一道最大流满流判断的题目。图中给我们N个点的坐标,算出两两的距离。利用二分法 枚举最大值R。并用·最大流判断是否满流。关于建图:这里建图的基本思想就是拆点,把原创 2013-04-04 23:01:19 · 953 阅读 · 0 评论 -
POJ1637 Sightseeing tour 混合图的欧拉回路+最大流
混合图的欧拉回路判断方法在黑书上面有具体提到。 这里采用的方法:先给无向边定向,让后统计每一个点的出入度,如果有一个点的出入度只差为奇数,则该图不存在欧拉回路(有向图的欧拉回路每个点的度数都是偶数,至于出度=入度,在求最大流时我们会进行调整)。全部判断完后,开始建图。1:把每一条无向边建成一条容量为1的弧。2:出入度之差不为0的点:如果出>入 则将改点和源点相连 容量为原创 2012-08-20 14:26:23 · 4219 阅读 · 0 评论 -
Ural1774 Barber of the Army of Mages 最大流
满流判断+方案输出n个客人,每个客人有一个等待的时间段,在这个时间段,他要被挂两次胡子。。。(O__O"…) ,刮胡子的人一分钟可以刮k个人。。。。如果可行,输出Yes然后按顺序输出第i个人被刮胡子的两个时间,否则输出No从0开始到最后一个客人离开的时间lt 每一个点与汇点ed连一条弧容量为k源点st与每个人连一条弧,容量为2第i个人有一个灯带的时间区间l[i],r[i],原创 2013-05-25 22:08:51 · 601 阅读 · 1 评论 -
UVA10983 Buy one, get the rest free 拆点+ 网络流+二分
二分最小费用,小于等于这个费用的边要连起来。把一个城市看做一个点,加入有d天,那么要拆成d+1个点。st与d(i,0)连弧,容量为相应城市的人数d(i ,j) 与 d(i ,j+1)连弧,容量INF;如果d(i,j) 到 d(k,j+1)有一班飞机,且费用小于等于我们枚举的费用,那么连弧,容量费飞机搭载人数。最后用网络跑一次,判断是否满流即可。下周各种考试啊。三门。原创 2013-05-11 23:24:25 · 857 阅读 · 0 评论 -
Ural1736 Chinese Hockey 最大流
一场比赛在规定时间内比完 胜者3分败者0分,加时赛比完胜者2分败者1分然后联赛是单循环赛(任何两只队伍比一次),给出了上赛季每只队伍的积分,问你这个积分合不合理,如果合理则要输出方案。首先我们发现一场比赛的积分固定,然后3分无论怎么分配都能对应一种胜负情况,因此用最大流将每场比赛和每一只队伍分别抽象成点(比赛点: 1 -至2*n*(n-1) 队伍点 2*n*(n-1)+1 至2*n原创 2013-08-10 00:06:26 · 552 阅读 · 0 评论 -
ZOJ3165 Party of 8g 最小割
输出方案dfs一下就可以了。Party of 8gTime Limit: 5 Seconds Memory Limit: 56797 KB Special JudgeAs all you know, DD is a hospitable person. On Saint Valentine's Day, DD is going to arra原创 2013-08-23 22:51:13 · 446 阅读 · 0 评论 -
ZOJ2616 Duopoly 最小割
很明显的最小割不同公司订单分别连源点和汇点,容量是定价然后冲突订单连边。容量INF然后总和减去最小割就是答案DuopolyTime Limit: 10 Seconds Memory Limit: 32768 KBTHE 30th ACM/ICPC ASIA REGIONAL 2005 HANGZHOU SITEOnsite Co原创 2013-08-15 23:37:12 · 544 阅读 · 0 评论 -
ZOJ3130 Shortest pair of paths 费用流
找起点到终点,两条点不重复权值之和最小的路径,拆点费即可可。注意判断满流Shortest pair of pathsTime Limit: 1 Second Memory Limit: 32768 KBA chemical company has an unusual shortest path problem.There are N depots原创 2013-09-03 00:24:54 · 470 阅读 · 0 评论 -
UVA12092 Paint the Roads 费用流
回寝室收衣服,被雨困住。顺手水一题题目要求每一个点都在k个环中(有向图)的最小费用。费用即边权。费用流拆点即可HPaint the RoadsInput: Standard InputOutput: Standard Output In a country there are n cities connected原创 2013-09-10 13:14:15 · 500 阅读 · 0 评论 -
ZOJ3760 Treasure Hunting 最小割+最大点权独立
没想到最小割Treasure HuntingTime Limit: 3 Seconds Memory Limit: 65536 KBGeorge is eager about treasure hunting. One day, he got a treasure map from God (It's the welfare from Go原创 2014-04-25 19:49:00 · 622 阅读 · 0 评论 -
POJ3680 Intervals 离散化+费用流
求yigeIntervalsTime Limit: 5000MS Memory Limit: 65536KTotal Submissions: 6241 Accepted: 2537DescriptionYou are given N weighted open intervals. The ith原创 2014-05-19 02:35:56 · 725 阅读 · 0 评论 -
POJ1719 Shooting Contest 上下界网络的可行流
这道题目的正统解法应该是匹配。但是同样也可以用上下界网络流来解决。每一行至少要射中一个,那么下界是1上界INF。每一列只能射中一个,那么上下界都是1,。对于每一个白色格子,无下界,上界是1.将每一列与源点相连,容量INF。将每一行与汇点相连,容量0更具白点位置连列和行,容量为1在更具这个网络求一次可行流。Shooting ContestTim原创 2012-08-23 10:50:52 · 591 阅读 · 1 评论 -
ZOJ3229 Shoot the Bullet 上下界最大流
上下界的最大流,建图很简单,天数与源点连,容量为每天拍照上限。女孩与汇点连,容量为INF,在根据每个女孩每天能拍的范围,建图,在求一次上下界最大流。试了一下DINIC,过了,注意点是要多输出一个换行。Shoot the BulletTime Limit: 2 Seconds Memory Limit: 32768 KB Special Judge Gensokyo is原创 2012-08-23 15:03:23 · 989 阅读 · 0 评论 -
POJ2135 Farm Tour 最小费用最大流
每一条路只能走一次,求一条起点到终点再到起点最短的路。那么给每一条路赋值容量为1,费用是距离,从起点开始用最小费用流增广2次后的费用就是最小费用。这题就是最小费用最大流。 Farm TourTime Limit: 1000MS Memory Limit: 65536KTotal Submissions: 7904 Accepted: 2837原创 2012-08-24 09:47:09 · 631 阅读 · 0 评论 -
POJ1149 PIGS 网络最大流
这道题目关键是建图,图建完了算法都一样这道题将每一个客户看做一个节点,并增加节点0,和节点n+1,节点0相当于网络的起点,节点n+1相当于网络的终点。每个客户都有打开每一个猪圈的钥匙,如果该客户是第一个打开该猪圈的,那么则将他和0相连,权值为猪圈里猪的数量,如果不是第一个打开的,则将他和最后一次打开那个猪圈的客户相连。最后,将客户和n+1相连,权值为他要购买的猪的数量,PIGS原创 2012-08-15 09:36:32 · 761 阅读 · 0 评论 -
POJ2112 Optimal Milking 网络最大流+二分
先用floyd求解任意两点之间的最短距离,再构建网络,将牛与源点相连容量为1,将机器与汇点相连容量为m。然后我们二分枚举答案,将牛与机器之间连线小于枚举值得边加入网络,大于枚举值得边去掉。然后求解最大流Optimal MilkingTime Limit: 2000MS Memory Limit: 30000KTotal Submissions: 8386原创 2012-08-15 15:01:18 · 1565 阅读 · 0 评论 -
POJ1459 Power Network 网络最大流
这道题目描述了很多,其实就是每条边有一个输送容量,每个consumer有一个最大消耗值,station有一个最大生产值。求最大的消耗量。将station与源点相连,弧的容量为最大生产值。将consumer与汇点相连,弧的容量为最大消耗值,在更具题目中所给的边的信息将各节点相连。Power NetworkTime Limit: 2000MS Memory Limi原创 2012-08-15 20:03:47 · 762 阅读 · 0 评论 -
POJ2125 Destroying The Graph 二分图+最小点权覆盖+最小割
趁热打铁,再来几题,加深理解。一样是求最小点权覆盖,同样求一个最小割,但是要求出割去了那些边,只要用最终的剩余网络进行一次遍历就可以了,比较简单。建图:同样是一个二分图,左边的点代表去掉出边,右边的点代表去掉入边(小心别弄混),左边去掉出边的点与源点相连,容量为wi- 。右边的点与汇点相连,容量为wi+。然后更据给出的弧进行连线,权值为INFDestroying The Graph原创 2012-08-16 15:18:36 · 2229 阅读 · 1 评论 -
POJ3308 Paratroopers 二分图+最小点权覆盖+最大流
这题是求的最小花费是个乘积,因此用log先转化为加法,最后再将答案用exp转化。这道题目将每一个Paratrooper当做一条边,行与列分别当做节点,行与源点相连,容量为相应处理过的花费。列与汇点相连,容量为相应处理过的花费。最后把Paratrooper落下的坐标相应的行和列处理成一条容量为INF的弧。最后求一个最小割。ParatroopersTime Limit: 1原创 2012-08-16 11:11:58 · 1239 阅读 · 0 评论 -
POJ3469 Dual Core CPU 最小割
这里我再给出几个等价关系1:f是容量网络G的最大流。2:|f|等于容量网络最小割的容量。3:容量网络不存在增广路。4:残留网络不存在从源点到汇点的路径。以上四个描述等价。这样我们就知道要求最小割就是要求一个最大流另外我们要知道割的容量只计算前向弧。 建图:每个任务看做一个点,与源点连一条弧容量为消耗1,与汇点连一条弧容量为消耗2。 额外原创 2012-08-15 22:02:33 · 1071 阅读 · 0 评论 -
POJ1087 A Plug for UNIX 网络最大流
求出最大流后,与总电器数量相减就可以得出答案。建图:每一个插头和源点连一条容量为1的弧(数量为1),每一个用电器与汇点连一个容量为1的弧(此处可能出现未出现的插头种类,要先记下给予他一个编号,下面可能出现相应的转换器),然后转换器(提供的插头,转换器需要的插头),将转换器需要的插头到提供的插头连一条容量为INF的弧(此处会出现未出现的插头种类,注意记录,给与编号。INF是因为一种转换器不止一个原创 2012-08-17 14:14:22 · 551 阅读 · 0 评论 -
POJ2391 Ombrophobic Bovines 二分+枚举+拆点+最大流
做这道题目做的想砸电脑。。dinic的过了。。。。今天ISAP也过了,不明白昨天晚上为什么一直WA Ombrophobic BovinesTime Limit: 1000MS Memory Limit: 65536KTotal Submissions: 9810 Accepted: 2202DescriptionF原创 2012-08-17 23:36:08 · 814 阅读 · 0 评论 -
POJ2175 Evacuation Plan 消圈算法
此题不能直接用费用流,会TLE,因为只要输出比方案好的解即可,所以进行一次消圈就可以了Evacuation PlanTime Limit: 1000MS Memory Limit: 65536KTotal Submissions: 2401 Accepted: 616 Special JudgeDescription原创 2012-08-30 09:38:04 · 880 阅读 · 0 评论 -
POJ1815 Friendship 枚举+拆点+最小割
本题是一个无向图,然后让我们求出去掉最少的点,可以使s和t不连通,并要求我们输出字典序最小的一种方案。看出了是最小割,但没想到要拆点,又学到了。建图:1:把除了s和t外其他所有点连一条弧(i,i+n,1)(这条弧表示i没有丢失自己的联系人,没有这条弧,说明i不能喝他的朋友联系了。因为i能联系到的人我是用i+n相连的)2:如果i知道s的号码,则连一条弧(s,i,INF),原创 2012-08-20 16:47:52 · 1648 阅读 · 0 评论 -
ZOJ2587 Unique Attack 最小割唯一性
通过这题我已经决定彻底把原来的ISAP模板丢掉了,居然又被卡了。。。果然问题太大了。还是暂时dinic吧。。。。关于这题,是一道判断最小割唯一性的问题。建图:图中的边是无向边,那么连两条弧即可(i,j) (j,i) 容量就是这条边的费用。建图完成后求一个最小割。求完之后,利用残余网络从源点和汇点进行遍历。如果两次遍历后存在点没有被遍历到,那么最小割不唯一,否则唯一。Uniq原创 2012-08-20 23:05:44 · 854 阅读 · 0 评论 -
POJ3436 ACM Computer Factory 拆点+网络最大流
这道题目的意思我没看懂。看了解释后,大概明白这题的意思是有一个工厂,它里面有多个装配电脑的线路,每个线路有一个最大的电脑容量数,然后有2p个值,分别对应输入和输出。0表示不能有,1表示必须有,2表示无所谓有和没有。最终要我们求出最多的组装数,和线路的连接数并输出方案。 只有输出全是1的才算组装好一台电脑。 这里我们要拆点,把一个线路拆成两个点i和i+n,并且在两点间连一条弧,容量为原创 2012-08-20 08:49:26 · 958 阅读 · 0 评论 -
poj3084 Panic Room 最小割
感觉做图论需要强大的yy能力啊。。。这道题难就难在建图,之后就是一个最小割的过程。1:题目中要我们保护的房间就是汇点t,然后我们要额外增加一个源点s;2:存在intruder的房间,我们将它与源点连一条弧(s,j,INF)。3:其他房间如果i->j 则我们要连两条弧 (i,j,INF) (j,i,1); (这里需要yy一下,因为源点直接与存在intruder的房间相连,并且网络是原创 2012-08-21 10:58:20 · 890 阅读 · 0 评论 -
ZOJ2314 Reactor Cooling 有上下界网络的可行流
第一道上下界网络流的题目,纪念一下。上下界网络流问题,除了每一条弧有一个容量,还规定了一个下限,规定弧上的流量不能小于这个弧的下限推荐一篇文章http://wenku.baidu.com/view/0f3b691c59eef8c75fbfb35c.html 这片文章介绍了这类问题的解决思想,看完了这片文章,解决这道题目应该是小菜一碟了。建图:1:按照图中给出的边建立相应的弧,只是容原创 2012-08-21 23:13:51 · 853 阅读 · 0 评论 -
POJ2396 Budget 有上下界网络可行流
建图麻烦。。。真麻烦。。。太麻烦了,麻烦死了。注意>要+1 ,这里说一下原网络的构造,辅助网络在这个基础上就可以完成了,就是麻烦了一点。源点和行连,边的上下限就是这一行所有数的和。汇点和列连,边的上下限就是这一列的所有数的和。然后每一个行和每一列都要连线,初始上限为INF,初始下限为0,再根据题目中给出的约束调整上下限。BudgetTime Limit:原创 2012-08-22 16:24:46 · 870 阅读 · 0 评论 -
HDU3157 Crazy Circuits 上下界的最小流
构造附加网络,然后求一次最大流,再添加(t,s,INF),在求一次最大流,如果满流那么(t,s)的流量就是最小流,否则不存在可行流。poj上面也有这题。。不过题目有问题,只要按照sample输出就可以过了。。。绝对有问题Crazy CircuitsTime Limit: 4000/2000 MS (Java/Others) Memory Limit: 32768/32768 K (原创 2012-08-23 09:36:47 · 757 阅读 · 0 评论 -
HDU4309 Seikimatsu Occult Tonneru 最大流
wa的惨烈,原因是建图错误,英语有待磨练这里说一下建图,之后就是一个最大流。注意题目中所有给出的边都是有向边源点s 汇点t每一个城市i与源点连一条弧,容量为相应的人数pp==0 连一条弧(x,y,INF)p>0 如果选择修复的话则连一条弧(x,y,INF) 并计算花费,否则连一条弧(x,y,1)(在程序中这一块每次都要重新建图,毕竟这种弧最多只有12条,按照每个循原创 2012-08-19 00:50:46 · 782 阅读 · 1 评论