网络流
河渔船
成长的小垃圾
展开
-
P2472 [SCOI2007]蜥蜴
https://www.luogu.org/problem/show?pid=2472这是一道网络流题,主要是构建图(建模),然后用最大流就可以了; 虚构一个汇点和一个源点 构图时,把每个柱子拆成一条边连接两个点,边的容量为柱子高度; 把可以跳出的柱子连到汇点,容量是INF(不影响结果); 把源点和有蜥蜴的柱子连一条容量唯一的点,那每只蜥蜴开始跳的时候就相当于从汇点跳来,消耗单位 1 的流量原创 2017-04-28 16:55:09 · 217 阅读 · 0 评论 -
P3376 【模板】网络最大流
首先感谢(http://blog.csdn.net/x_y_q_/article/details/51999466)http://blog.csdn.net/x_y_q_/article/details/51999466一、首先是FF算法,dfs找增广路, 奉上最简模板(邻接矩阵)#include<iostream> #include<cstdio> #include<cstring> #incl原创 2017-04-23 08:47:35 · 1111 阅读 · 0 评论 -
P1341 地震逃生
https://www.luogu.org/problem/show?pid=1343#sub最大流#include<iostream> #include<cstdio> #include<cstring> #include<string> #include<algorithm> #include<vector> #include<queue> #define INF 100000000 using原创 2017-04-23 09:06:31 · 379 阅读 · 0 评论 -
最小割即为最大流
http://blog.csdn.net/xzz_hust/article/details/22041173 首先给出割的定义:在图G(V,E)中,将图割成两个不能联通的图的边集即为割;有这样一种题目:求G(V,E)中s点到t点的最小割,这个问题就是求s–>t的最大流, 下面给出解释: 最大流通过的路径中,值最小的是流量的值,当求出s–>t的最大流时,就不存在增广路了,就把s和t分到两个集合中原创 2017-04-23 10:23:27 · 235 阅读 · 0 评论 -
【模板】最小费用最大流
https://www.luogu.org/problem/show?pid=3381#sub #include<iostream> #include<cstring> #include<string> #include<cstdio> #include<algorithm> #include<queue> #include<vector> using namespace std; int n,m原创 2017-05-03 15:18:53 · 232 阅读 · 0 评论 -
P2153 [SDOI2009]晨跑
题目要求不能通过相同的点,限制点,和蜥蜴那个题类似,将每个点拆成两个点,中间连一条边,因为每个点只能通过一次,所以边的流量为1。 因为起点和汇点不算十字路口,所以不用拆,在与1号点直接相连的点和1号点之间连一条流量为1的边,与n号点相连的点一样如此处理,然后用最小费用最大流就可以了。最大流即为天数,最小费用即为总路程。 需要注意的问题是构建cost的反向边。代码#include<iostream原创 2017-05-05 14:55:29 · 289 阅读 · 0 评论