网络流_最大流
aozil_yang
这个作者很懒,什么都没留下…
展开
-
HDU HDU - 3416 (单源最短路 + 最大流)
大体题意: 给你一个有向图,告诉你起点S和终点T,要求找出不同的路径来,满足路径是最短路,并且每个路只能用一次! 思路: 方法很巧妙: 可以转换到最大流 先正着求一边单源最短路,在倒着求一边,把在最短路上的边加入到网络中,权值为1,直接求最大流即可!(想一想就知道!) 判断是否在最短路也很简单: 直接看这个边的一个点到S的最短距离和另一个点到T的最短距离之和 加上权值 如果是最短路的原创 2016-09-19 00:32:13 · 555 阅读 · 0 评论 -
HDU 5889 Barricade (单源最短路 + 最小割(最大流))
大体题意: 给你一个无向图,告诉你敌人在点n,我方在点1,敌人要从n 走到1,他们一定会选择最短路,你可以向一些路放一些木头来阻碍敌人,放木头的代价为路的权值,求最小权值使得敌人一定会经过一个木头? 思路: 比赛没有出,借鉴了学长们的博客! 因为敌人一定会走最短路,那么我们可以先构造出所有的最短路! 因为要找一些权值最小的和,想一想可以知道 ,这是找最小割! 因为一定要走到1点吗,最小原创 2016-09-19 11:48:49 · 758 阅读 · 0 评论 -
UVA 1161&& UVALive 3645 Objective: Berlin (最大流 -- 时序模型)
大体题意: 给你一些航班,你要从s 城市到t 城市,中间可以倒航班,倒航班的时间不得小于30分钟! 告诉你最晚的到达时间,求最大客流量? 思路: 求最大客流量很明显是求最大流! 然后 加了时间 在赛场上就蒙蔽了! 其实是时序模型! 我们把航班看成一个点,然后拆成i和i + m,这样就考虑了时间的因素! 表示i 的时间更早一些,i+m 的时间更晚一些!只能由i到i+m ,容量为飞机上原创 2016-10-29 10:59:32 · 421 阅读 · 0 评论 -
UVA 820 Internet Bandwidth(最大流)
题意: 求s到t的最大流 思路 最大流 #include #include #include #include #include using namespace std; const int maxn = 10000 + 7; const int inf = 0x3f3f3f3f; struct Edge{ int from, to, cap, flow; }; st原创 2017-03-13 00:41:06 · 531 阅读 · 0 评论 -
UVA 11082 Matrix Decompressing (最大流)
题意: 告诉你一个n*m的矩阵的每一行元素之和 和每一列元素之和,要求还原矩阵,矩阵的每一个元素不超过20。 思路: 没想到这种题竟然是网络流,长见识了: 我们拆成每一行x1,x2,x3,,,xn 和每一列 y1,y2,y3,,,ym 每一行和每一列连边,容量为19, 之所以是19,因为题目要求是1~20, 但流量可以是0,这样的话, 我们算出来是0~20的,不如我们减一,算0~19,原创 2017-03-14 00:52:15 · 388 阅读 · 0 评论 -
POJ 3281 Dining (最大流)
题意: 告诉你每个牛喜欢的食物和饮料,每个食物和每个饮料只能给一只牛,求最大有多少牛 能得到喜欢的食物和饮料? 思路: 给每个食物向牛连边, 给每个饮料向喜欢的牛连边, 牛拆点 容量为1 保证前面只有一种食物,后面只有一种饮料。 食物连源, 饮料连汇,求最大流即可。 #include #include #include #include #include #define Siz原创 2017-03-14 13:56:36 · 273 阅读 · 0 评论