![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
网络流
文章平均质量分 81
Unin88
这个作者很懒,什么都没留下…
展开
-
hdu 3549 Flow Problem
acm.hdu.edu.cn/showproblem.php?pid=3549 网络流之最大流水题。利用Dinic算法实现。 邻接矩阵+STL //4134MS #include #include #include #include #include using namespace std; const int MAX = 2050; const int INF = 1e9;原创 2015-01-06 15:12:30 · 405 阅读 · 0 评论 -
poj 1273 Drainage Ditches
http://poj.org/problem?id=1273 最大流裸题 用来练习EK算法 1A。注意测试数据有重边的处理方法即可。 AC代码: #include #include #include #include #include using namespace std; typedef long long LL; const int MAX = 210; const LL原创 2015-01-05 15:46:18 · 344 阅读 · 0 评论 -
poj 2135 Farm Tour
http://poj.org/problem?id=2135 此题中的费用是路径长度,流量是经过的点的数目(流量越大对应于更好地参观农场),因此是一个最小费用最大流问题,使用SPFA来求解。 AC代码: #include #include #include #include #include using namespace std; const int MAXN = 1010;原创 2015-01-08 13:23:02 · 345 阅读 · 0 评论 -
欧拉路径&&欧拉回路
欧拉回路 无向图:图连通且每个点的度均为偶数 有向图:图连通且每个点入度等于出度 欧拉路径 无向图:图连通且只有两个奇点 有向图:图连通且一个点出度-入度为1,一个点入度-出度为1,其他点均入度等于出度 混合图的欧拉回路 1、随意定向 在混合图中,对于双向边的处理除了拆边之外,还有任意定向。先对全图的双向边进行任意定向,计算出度和入度,如果一个点的出度加入度是奇数的话,那么这个原创 2015-01-16 17:38:23 · 784 阅读 · 0 评论 -
hdu 3472 HS BDC
题目链接 很容易看出是混合图的欧拉路径问题,注意不是欧拉回路,这是有很大区别的。 上一篇博文介绍用最大流解决混合图的欧拉回路问题,这里的混合图的欧拉路径问题,采用化归的思想,转化为欧拉回路求解。如果没有入度+出度是奇数的点,那么不需要化归;如果这样的点有两个,那么将这两个点随意连一条边,容量为1,转化为欧拉回路问题;如果这样的点不是0或2个,证明没有欧拉路径,至此就解决了本题。 AC代码:原创 2015-01-17 11:36:25 · 431 阅读 · 0 评论 -
poj 1459 Power Network
http://poj.org/problem?id=1459 网络流之最大流问题处女作,使用的是Edmonds-Karp算法。此外,这又是一道玩转输入的神题,使用sscanf解析字符串内容。 像本题这种多源多汇的最大流问题,只需建立一个超级源点S和一个超级汇点T即可。S连接所有发电站,T连接所有用户。 AC代码: #include #include #include #inclu原创 2015-01-05 14:46:48 · 413 阅读 · 0 评论 -
poj 1149 PIGS
http://poj.org/problem?id=1149 纠结了很久才会做的最大流。 按照朴素的思想我们可以建立如下的图: 假设在某一轮交易中i号猪圈被打开,那么在下一次有人可以打开i号猪圈的时候,我们只需将这两个人之间建立一条流量为无穷的边即可。还有一点是, 在一条路径S到达人的路径中,流量为无穷的边可以直接删除,因为相当于不需要一个中转站,两个节点可以直接相连。这样的话我们只需要原创 2015-01-07 14:24:52 · 312 阅读 · 0 评论