图论~~网络流
文章平均质量分 86
Yoangh
奋斗的小程序猿
展开
-
hdoj 1532 Drainage Ditches 题解(最大流)
Drainage DitchesTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 7845 Accepted Submission(s): 3659Problem DescriptionEvery tim原创 2014-03-27 11:27:18 · 7030 阅读 · 2 评论 -
hdoj 3491 Thieves 【最小割 + 拆点】
题目:hdoj 3491 Thieves 题意:给出一个无向图,然后有个出发城市s,结束城市 t ,然后每个点有流量限制,问你最少用多少的人能够使得 s 到 t 没有流量。分析:题意是抽象出来的,但是很明显看出来是求最小割。难点有21:无向图,所以要建双向边2:点有流量限制,所以要拆点,拆成两个点,然后这两点的容量为点的限制,图中点的连接设置流量为inf,保证割不掉原创 2014-08-28 09:56:13 · 1023 阅读 · 0 评论 -
hdoj 3657 Game 【最小割】
题目:hdoj 3657 Game分类:题意:给出一个矩阵,里面有值,要求按规则取一定的数使得得分最大,规则如下:1:规定一些格子必须要拿,得分为拿了的格子的值得和2:拿相邻的格子的需减去所有2*(x | y)分析:这是一个标准的求最小割的题目,做这个题目推荐先做一下hdoj 1659,讲解:点击打开链接同样是格子类题目,限制为相邻的,那么我们可以按原创 2014-08-27 19:08:43 · 1178 阅读 · 0 评论 -
hdoj 4925 Apple tree 【最小割】
题目:hdoj 4925 Apple tree 来源:2014 Multi-University Training Contest 6题意:给出一个矩阵,然后每个格子中的数是2^(相邻格子的个数),然后要求不能取相邻的数,让取得数最大。分析:就是hdoj 1569 点击打开链接 的版本,只不过数据范围增大了。不过数据水了。下来一样的效果,相同的代码可以ac。原创 2014-08-28 11:25:58 · 1070 阅读 · 0 评论 -
hdoj 4971 A simple brute force problem. 【最大权闭合图 --> 最小割】
题目:hdoj 4971 A simple brute force problem. 题意:给出 n 个任务和 m 项技术,完成某个任务需要其中几项技术,完成某个任务有奖金,学习某个技术需要钱,技术之间有父子关系,某项技术可能需要先学习其他技术,然后问你选择做那些任务获得收益最大?分析:看题意的黑体字部分,就是一个标准的闭合权问题,这个题目的关键忽悠点在于技术之间的关系,导原创 2014-09-04 21:28:12 · 1436 阅读 · 0 评论 -
acdream 1211 Reactor Cooling 【上下界网络流 + 输出流量】
题目:acdream 1211 Reactor Cooling分类:无源无汇的有上下界网络流。题意: 给n个点,及m根pipe,每根pipe用来流躺液体的,单向的,每时每刻每根pipe流进来的物质要等于流出去的物质,要使得m条pipe组成一个循环体,里面流躺物质。并且满足每根pipe一定的流量限制,范围为[Li,Ri].即要满足每时刻流进来的不能超过Ri(最原创 2014-10-02 16:30:04 · 1517 阅读 · 0 评论 -
Code 1035 火车停留 【最大费用最大流】
题目:Code 1035 火车停留题目:中文题目,直接读吧分析:读题之后发现是让费用最大,不容易考虑到费用流,其实费用最大和最小是一样的,费用最大的话可以把费用变为负值求最小的。建图方法:超级源点 ss 连接 s ,容量为 n ,费用为0把每个列车拆成两个点 i 和 ii ,之间建边容量为1 ,费用为给车站交的钱的相反数s 连接 i ,容量inf ,费用0原创 2014-10-14 15:56:23 · 1968 阅读 · 0 评论 -
poj 2516 Minimum Cost 【最小费用最大流】
题目:poj 2516 Minimum Cost题意:有 n 个商店,k种物品和 m 个供货商,让你求进满足商店需求的货物的最小花费?有必要说一下输入数据。首先n ,k ,m 然后是一个n*m的矩阵,n个商店对每种货物的需求,表示第 i 个商店需要第 j 种货物 x个 然后是m * k 的矩阵,m个供货商可以供k种货物的数量,表示第 i 个供货商 提供第 j 中货物 x原创 2014-10-14 11:39:32 · 3536 阅读 · 0 评论 -
最小费用最大流算法及题集
貌似网上最小费用最大流的讲解的不多。原创 2014-10-14 14:18:50 · 15755 阅读 · 1 评论 -
hdoj 3376,2686 Matrix Again 【最小费用最大流】
题目:hdoj 3376 Matrix Again题意:给出一个m*n的矩阵,然后从左上角到右下角走两次,每次只能向右或者向下,出了末尾点其他只能走一次,不能交叉,每次走到一个格子拿走这个格子中的数字,求价值最大?分析:很明显费用流,开始想的到一种建图方案,但是那样的话流量全为负值的话会成一个环,所以果断换了。建图方案是:首先拆点,每个点拆成两个i 和 ii ,建边原创 2014-10-15 16:10:12 · 1677 阅读 · 0 评论 -
ZOJ Problem Set - 3229 Shoot the Bullet 【有上下界网络流+流量输出】
题目:ZOJ Problem Set - 3229 Shoot the Bullet分类:有源有汇有上下界网络流题意:有 n 天和 m 个girls,然后每天给一部分girls拍照,每个girls 有拍照的下限,即最少要拍这么多张,然后每天有k个女孩拍照,摄影师最多可以拍num张,然后 k 个女该每天拍照数量值有上下限,然后问你有没有满足这样条件的给女孩拍照的最大方案,然后原创 2014-10-04 15:10:52 · 1270 阅读 · 0 评论 -
hdoj 3157 Crazy Circuits 【有下界最小流】
题目:hdoj 3157 Crazy Circuits题意:现在要制造一个电路板,电路板上有 n 个电子元件,各个元件之间有单向的电流流向,然后有一个 + ,电流进入, -- 电流汇入,然后判断能不能让电路板工作,如果能的话求最小电流。分析:有上下界网络流,求最小流首先是判断能不能够让电路板工作,能工作的条件就是流量平衡,判断方法前面题目中讲过。同样先转换为无源原创 2014-10-04 21:13:38 · 1152 阅读 · 0 评论 -
hdoj 3820 Golden Eggs 【最小割+拆点】
题目:hdoj 3820 Golden Eggs题意:给出一个矩阵,然后当前有三种选择,放一个金蛋,放一个银蛋,或者不放,然后给出每个格子放金蛋或者银蛋的得分,如果金蛋相邻的话每个得分要减掉cost1,银蛋相邻的话每个减去cost2得分,问最大得分多少?分析:做这个题目推荐先做hdoj 1659 ,3657点击打开链接 ,这个题目相当于前两个的融合在加点变化。首先我们发原创 2014-08-27 19:20:51 · 1302 阅读 · 0 评论 -
hdoj 3338 Kakuro Extension 【经典最大流+输出流量】
题目:hdoj 3338 Kakuro Extension定义:神级最大流(各种错误无数次,整整一天)题意:一个游戏,这个游戏给出一个矩阵,有些矩阵里面有两个数,前面一个数表示从下一行到下一个出现数字行的所有数字和(当前这一列),而第二个数表示从下一列到下一个出现数字的列(当前这一行),让你填入满足条件的数字的矩阵(1---9),可以重复(最大流条件)。分析:首原创 2014-08-25 19:08:58 · 1852 阅读 · 0 评论 -
hdoj 4975 A simple Gaussian elimination problem. 【最大流唯一性判断】
题目:hdoj 4975 A simple Gaussian elimination problem. 这个题目跟hdoj 4888 一样,只是数据加强了一点,这个题目确实出的不好,尤其数据,争议比较大,但是同时也说明优化有时候还是很有用的。不懂的可以看这个讲解:点击这个题目只是加了一点优化,就是判断的时候加入是行和为0,或者满的话,就跳出不用判断,然后就300ms过了。真心牛原创 2014-08-26 11:26:41 · 1291 阅读 · 0 评论 -
Doctor NiGONiGO’s multi-core CPU(最小费用最大流模板)
题目链接:http://acm.nyist.net/JudgeOnline/problem.php?pid=693题意:有一个 k 核的处理器和 n 个工作,所有的工作都需要一个核来处理,每个核在不同时间处理同一个同一个工作的花费是递增的,每个核一次只能处理一个工作,求运用k个核处理这n个工作的最小花费。分析:分析可知,求处理所有工作的最小花费,而每次选择怎么处理我原创 2014-04-18 10:01:08 · 1658 阅读 · 0 评论 -
网络流之最大流算法(EdmondsKarp)
求网络流有很多算法,这几天学习了两种,记录一下EK算法。首先是网络流中的一些定义:V表示整个图中的所有结点的集合.E表示整个图中所有边的集合.G = (V,E) ,表示整个图.s表示网络的源点,t表示网络的汇点.对于每条边(u,v),有一个容量c(u,v) (c(u,v)>=0),如果c(u,v)=0,则表示(u,v)不存在在网络中。相反,如果原网络中不存在边(u,v)原创 2014-03-11 18:05:32 · 97925 阅读 · 18 评论 -
hdoj 3549 Flow Problem 【最大流】
题目:hdoj 3549 Flow Problem题意:给出一个图,让你求最大流。分析:这个题目用dinci写的,因为点比较少,而dinci复杂度O(m*n^2),但是还是跑了160ms,不知道15的神牛怎么写的。dinci的写法要注意的地方就是存图的时候要考虑怎么存,因为要更新网络残量,即反向的流量,所以这里要注意一下。思想就不讲了,很多地方有讲。代码:#原创 2014-08-23 17:27:24 · 1192 阅读 · 0 评论 -
hdoj 4183 Pahom on Water 【基础最大流】
题目:hdoj 4183 Pahom on Water题意:题目有点长,读懂了就是个水的最大流,每次从789开始到400,走的话必须是两个圆相交而且频率递增的,每个点只走一次,求有没有满足这样条件的。分析:题目读懂就比较水了。直接按照题目意思建图,初始点和结束点容量为2,其他点只走一次容量为1,然后求最大流。AC代码:#include #include原创 2014-08-24 10:21:26 · 1339 阅读 · 0 评论 -
hdoj 3605 Escape 【中等最大流 | 二分图多重匹配】
题目:hdoj 3605 Escape 分类:中等最大流 | 二分图多重匹配题意:给出n个人和m个星球,每个人有想去的兴趣,然后每个星球有容量,问能不能让所有人都住在自己想去的星球?分析:最大流的话卡的非常严,这个题目写了之后手写MTL,超内存,然后加入状态压缩之后TEL,后面没办法了看别人说C++提交能过,改C++Compilation Error,不容易呀,原创 2014-08-24 12:10:02 · 1382 阅读 · 0 评论 -
最大流dinci模板
我们知道,增广路EK算法的时间负责度是O(n*m^2),找最短增广路的时间复杂度是O(m*n),所以时间复杂度主要是在找增广路上。这里介绍另一种Dinci算法,用BFS构造层次图,然后用DFS增广。模板#include #include #include #include #include #include #include using namespace std;#d原创 2014-07-30 13:52:49 · 2590 阅读 · 2 评论 -
hdoj 3572 Task Schedule【最大流】
题目:hdoj 3572 Task Schedule题意:有m台机器和n个任务,然后给出每个任务的开始时间和结束时间以及需要的天数,让你判断有没有这样条件的安排分析:网络流题目,比较难想到的是把时间区间怎么在图里面建,其实是在这个区间的每个点都连一条边,建图方案。超级源点s到每个任务 i 连边,容量为第 i 个任务需要的天数,然后每个任务向满足要求的日期连一条容量为1的原创 2014-08-23 18:41:59 · 1549 阅读 · 0 评论 -
hdoj 2883 kebab 【经典最大流】
题目:hdoj 2883 kebab 题意:现在有n个人要烤肉,有m个烤肉架,然后给出每个人的烤肉开始时间si,结束时间ei,以及要烤肉的串数num,还有拷一串的时间ti,然后问你能不能满足所有人的要求。分析:这是一个比较经典的最大流,经典在于建图方法,这个题目难点在于时间跨度在0---100 0000,如果时间短的话就可以用题目3572的做法了。点击打开链接后面看了别原创 2014-08-24 18:11:09 · 1618 阅读 · 0 评论 -
hdoj 1569 方格取数 【最大点权独立集->最大流】
题目:hdoj 1569 方格取数题意:中文题目,就不说题意了。分类:最大流 | dp分析:dp的话应该是个数塔模型,不难做,这里讲转化为图的做法。这个题目的关键在于转化为一个二分图,来求一个二分图的最大点权独立集,而最大点权独立集 = 点权和 - 最小点权覆盖最小点权覆盖: 从x或者y集合中选取一些点,使这些点覆盖所有的边,并且选出来的点的权值尽可能原创 2014-08-24 19:35:34 · 1774 阅读 · 1 评论 -
hdoj 3046 Pleasant sheep and big big wolf 【入门最小割】
题目:hdoj 3046 Pleasant sheep and big big wolf题意:一个矩阵,1表示羊,2表示狼,然后让把羊和狼隔开,问需要最小的栅栏、分析:标准的最小割最小割:一个图中,删去容量最小的边使得从 s 到 t 没有路径。最小割 = 最大流建图:首先编号相邻点建边 1 s 到 羊 无穷t 到 狼 无穷(这个题目数据比较水原创 2014-08-25 19:41:25 · 1438 阅读 · 0 评论 -
hdoj 4888 Redraw Beautiful Drawings 【最大流满流+唯一性判断】
题目:hdoj 4888 Redraw Beautiful Drawings分类:最大流满流 , 最大流唯一性来源:2014 Multi-University Training Contest 3题意:一个矩阵的每行每列的和都知道,然后让你求能不能填,是否唯一,唯一的话输出解、分析:这个题目能看出来是最大流,但是难点有2.首先:题中矩阵400原创 2014-08-26 10:34:47 · 2193 阅读 · 0 评论 -
hdoj 3488,2696 ,3435 【经典最小费用最大流】
题目:hdoj 3488 Tour 题意:给出n个点m条边,然后让你求每个点只能在一个环中(哈密顿环),且所有点只走一次的最小费用。分析:直接画图的话可能没有思路,但是把它化成一个二分图的话肯定瞬间思路来了,每个点只走一次,很好建图建图方案:每个点拆成两个i 和 ii然后s连接所有 i ,容量1 ,费用0ii 连接所有 t ,容量 1 ,费用0 所有右边原创 2014-10-15 11:16:21 · 1447 阅读 · 0 评论