网络流
文章平均质量分 85
ophunter
不会DP!
展开
-
poj1273&hdu1523Drainage Ditches(ISAP)
题目请戳这里题目大意:略。题目分析:网络流模版题。不过数据很弱,只能测很烂的模版。第一道网络流详情请见代码:#include #include#include#includeusing namespace std;const int N = 205;const int M = 410;const int inf = 0x3f3f3f3f;struct node原创 2013-09-08 10:47:54 · 1095 阅读 · 0 评论 -
poj2125Destroying The Graph(最小割+输出方案)
题目请戳这里题目大意:给一张有向图,现在要选择一些点,删掉图中的所有边。具体操作为:选择点i,可以选择删除从i出发的所有有向边或者进入i的所有有向边,分别有个代价ini和outi,求最小的代价删掉所有边。并输出删除方案。题目分析:最小割。因为每次删除的是一个点的所有入边或者所有出边。那么就很明显了,拆点,将i拆成i和I+n2个点,分别表示第i个点的入度点和出度点。源点到每个i连边,表示从i原创 2013-09-13 00:41:51 · 2811 阅读 · 0 评论 -
poj3308Paratroopers(最小割)
题目请戳这里题目大意:给一个n*m的矩阵,给一些点(ri,ci)表示该点在第ri行第ci列。现在要覆盖所有的点,已知覆盖第i行代价为Ri,覆盖第j列代价为Cj。总代价是累乘的,求最小总代价能覆盖所有的点。题目分析:最小割。增加一个超级源点和超级汇点,源点到行连边,边权为覆盖行的代价,每列到汇点建边,边权为覆盖该列的代价。对于给定的点对,ri->cj连边,边权无穷大。求一个最小割即可。因为根原创 2013-09-12 17:29:03 · 1454 阅读 · 0 评论 -
poj1637Sightseeing tour(混合图欧拉回路)
题目请戳这里题目大意:求混合图欧拉回路。题目分析:最大流。竟然用网络流求混合图的欧拉回路,涨姿势了啊啊。。其实仔细一想也是那么回事。欧拉回路是遍历所有边一次又回到起点的回路。双向图只要每个点度数为偶数即可,有向图要保证所有点入度等于出度。求路径的话,dfs即可。混合图的话,就比较复杂。首先将有向边定向,求出所有点的入度和出度,如果某个点入度和出度之差为奇数,则一定不存在欧拉回路,因原创 2013-09-11 00:43:15 · 1906 阅读 · 0 评论 -
poj2391Ombrophobic Bovines(floyd+二分+拆点+最大流)
题目请戳这里题目大意:n块草地,每块草地有一些牛,每块草地有雨棚,可以容纳一定量的牛。草地间有路,可以无限通过牛,牛通过某条路有一定的时间。现在求最短的时间让所有的牛都能到雨棚。题目分析:最大流。题目给的是无向图,所以先跑一遍floyd,求出任意2块草地之间最少的时间。因为牛通过路的时间是累加的,所以要把无向图改成有向图,保证牛走某条路后时间是累加的。方法是拆点,将草地i拆成i和i+n原创 2013-09-10 17:42:49 · 1285 阅读 · 0 评论 -
poj3436ACM Computer Factory(不用拆点+最大流)
题目请戳这里题目大意:一台电脑有p个零件组成,有n个电脑组装机,每个组装机只能组装特定机器。即第i台组装机只能组装必含某些零件或者不能含有某些零件的半成品,通过这台组装机可以组装成另一台半成品/成品。每个组装机每个小时能组装的台数一定,给定n个组装机和组装条件,求每小时最多能装配多少台电脑,并输出效率最高时的一些可行方案。题目分析:最大流。每个组装机为一个点,对于每个组装机,如果组装条件没原创 2013-09-10 21:17:37 · 1278 阅读 · 0 评论 -
poj1087&hdu1526A Plug for UNIX(最大流)
题目请戳这里题目大意:房间里有n个插座,每个插座都不一样。有m个不同的用电器,每个用电器有一个插头,每个插头只能插相对应的插座。再给k类转换器,每类转换器能把A插头转化成B插头,每类转换器无限个。求不能充电的用电器最少的个数。题目分析:最少不能充电的用电器就是最多能充电的用电器数量。最大流。设一个源点一个汇点,源点到每个用电器连一条权为1的边,因为每种用电器只有一个。每个插座到汇点连一条边原创 2013-09-10 11:30:53 · 1278 阅读 · 0 评论 -
poj1459Power Network(最大流)
题目请戳这里题目大意:好难读的题目。。有n个点,编号0~n-1,每个点可能是发电站,中转站或者用户。发电站i可以发pi的电,最大pmax,用户i消耗ci的电,最大cmax,中转站不发电也不消耗电。每两个站点之间有一条边,边权L,表示这条边最多能送L的电。求所有用户消耗最大的电量。题目分析:网络流。需要增加一个源点和汇点。发电站是供电者,所以对于每个发电站,源点与其建一条边,边权为该发电站最原创 2013-09-09 21:34:05 · 1047 阅读 · 0 评论 -
poj3469Dual Core CPU(ISAP求最小割)
题目请戳这里题目大意:n个工作,2个CPU,每个工作都可以工作在2个CPU上,并且对于工作i,在第一个CPU上工作的代价为ai,在第二个CPU上工作的代价是bi,再给m对工作,每对工作有数据交换,如果这2个工作工作在同一个CPU上,数据交换无代价,否则数据交换代价为w。求n个工作完成的最小代价。题目分析:有2个CPU,每个工作只能工作在一个CPU上,所以我们可以将所有的工作分成2类:工作在原创 2013-09-09 14:55:25 · 1286 阅读 · 0 评论 -
poj1149PIGS(最大流)
题目请戳这里题目大意:养猪场有许多猪,关在m个猪圈里,有n个顾客要来买猪,一个一个的来。每个顾客有一些猪圈的钥匙,这个顾客只会买这些猪圈里的猪。顾客买完猪后,养猪场老板可以将这个顾客打开的猪圈里的猪重新分配。求老板能卖出最大数量的猪。题目分析:网络流。对于菜鸟来说,此题的建图比较难。因为某个顾客打开一些猪圈买完猪后,老板可以将这些打开的猪圈的猪重新分配。所以每个猪圈的猪的数量是动态的,随着原创 2013-09-09 11:03:27 · 1263 阅读 · 4 评论 -
poj1966Cable TV Network(无向图最小点割集 ISAP+邻接矩阵)
题目请戳这里邻接表的ISAP被卡了一天。。。TLE。。。。终于被卡了。。。好忧桑啊啊啊。。。题目大意:给一张无向图,求最少去掉几个点使图不连通。题目分析:求无向图的点连通度,拆点建图跑最大流。具体做法是:将一个点i拆成2个点:i和i+n,分别表示从第i个点出去和进入第i个点。那么i+n->i建边,边权1,对于每一条边(a,b),建边a->b + n,b->a+n,边权无穷。然后枚举没有原创 2013-09-20 18:25:16 · 1461 阅读 · 0 评论