题意:1是源点,m是汇点,求出来最大流量,没什么好说的就是练习最大流的模板题

**************************************************************

先用Edmonds-Karp的算法做一下试试吧
重边贡献了 1W,要加上所有的重边才算是两点间最大流量

***********************************************************************************************************************

;
;

; i<=M; i++)
        {
            ;

; i<=N; i++)
        {
            scanf(, M));
    }

;
}

邻接表实现

***********************************************************************************************************************

;
;

];
, ;
}
, ; i=e[i].next)
        {
            ;

)
        {
            MinFlow = min(MinFlow, e[v].Flow);
            v = pre[e[v].u];)
        {
            e[v].Flow -= MinFlow;
            e[v^].Flow += MinFlow;
            v = pre[e[v].u];
        }
    }

; i<=N; i++)
        {
            scanf();, M));
    }

;
}

code

Dinic实现 

************************************************************************************************************************

#include<stdio.h>
#include<;
;

};queue<, ;

; i=edge[i].next)
        {
            ;
                Q.push(v);
            }
        }
    }

;; i=edge[i].next)
    {
         == layer[u] && flow)
        {
            flow = min(MaxFlow-uFlow, flow);
            flow = dfs(v, flow);

edge[i].flow -= flow;
            edge[i^].flow += flow;
            uFlow += flow;
            ;

, End = M, cnt = ;
        memset(Head, -, ; i<=N; i++)
        {
            scanf();
        }

printf(;
}

SAP实现

*************************************************************************************************************************

#include<stdio.h>
#include<;
;

, , , gap[] = ;

; j=edge[j].next)
        {
            )
            {
                Layer[v] = Layer[u] + ;
                gap[Layer[v]]++;
                Q.push(v);
            }
        }
    }
}

, u = start, MaxFlow=;

BFS();

memcpy(cur, Head, ; j<top; j++)
            {
                ; j<top; j++)
            {].flow += MinFlow;
            }

MaxFlow += MinFlow;
            top = location;] == )
            ; j=edge[j].next)
        { && edge[j].flow)
                )
        {; j=edge[j].next)
            {;;
            gap[Layer[u]] += ;

, End = M, cnt = ;
        memset(Head, -, ; i<=N; i++)
        {
            scanf();
        }

printf(;
}

Drainage Ditches - poj 1273(网络流模板)的更多相关文章

  1. (网络流 模板 Edmonds-Karp)Drainage Ditches --POJ --1273

    链接: http://poj.org/problem?id=1273 Drainage Ditches Time Limit: 1000MS   Memory Limit: 10000K Total ...

  2. (网络流 模板 Dinic) Drainage Ditches --POJ --1273

    链接: http://poj.org/problem?id=1273 代码: //Dinic #include<stdio.h> #include<string.h> #inc ...

  3. Power Network POJ - 1459 [网络流模板]

    http://poj.org/problem?id=1459 嗯,网络流模板...多源点多汇点的图,超级汇点连发电厂,用户连接超级汇点 Status Accepted Time 391ms Memor ...

  4. hdu 1532 Drainage Ditches(最大流模板题)

    Drainage Ditches Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) ...

  5. hdoj 1532 Drainage Ditches【最大流模板题】

    Drainage Ditches Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) ...

  6. POJ 1273 Drainage Ditches(最大流Dinic 模板)

    #include<cstdio> #include<cstring> #include<algorithm> using namespace std; int n, ...

  7. POJ 1273 网络流(最大流)模板

    http://poj.org/problem?id=1273 这道题很值得反思,弄了一下午,交上去先是一直编译错误,而在本地运行没有问题, 原因可能是oj的编译器版本老旧不支持这样的写法 G[from ...

  8. Drainage Ditches(POJ1273+网络流+Dinic+EK)

    题目链接:poj.org/problem?id=1273 题目: 题意:求最大流. 思路:测板子题,分别用Dinic和EK实现(我的板子跑得时间均为0ms). Dinic代码实现如下: #includ ...

  9. poj1273 Drainage Ditches (最大流模板)

    http://poj.org/problem?id=1273 Dinic算法 这是一道最大流的经典题 最大流尽量应该用边表,优于邻接矩阵(所以我写了邻接矩阵版的之后又写了个边表) 用了新学的Dinic ...

随机推荐

  1. SPOJ 3943 - Nested Dolls 最长不下降子序列LIS(二分写法)

    现在n(<=20000)个俄罗斯套娃,每个都有宽度wi和高度hi(均小于10000),要求w1<w2并且h1<h2的时候才可以合并,问最少能剩几个. [LIS]乍一看跟[这题]类似, ...

  2. js关于闭包的内存的问题--deep down

    js有一个东西叫做GC(garbage collection )垃圾回收机制;js中有两种类型:js基本数据类型,js引用类型; 当一个函数[对象]--引用类型被引用后,过后,出了它的功能之后,gc会 ...

  3. The following module was built either with optimizations enabled or witherout debug information

    出现这个问题的原因是这个程式有做版控,服务器上的版本比本机版本小 解决方式为:删除服务器上的版控或者本机版本改成与服务器一致即可

  4. Binary XML file : Error inflating class com.esri.android.map.MapView

    在测试esri arcgis for android的第一个程序Helloworld的时候,报这样的错: Binary XML file : Error inflating class com.esr ...

  5. TSQL Challenge 2

    和之前发布的TSQL Challenge 1是同一系列的文章,看到那篇学习哪篇,没有固定的顺序,只为锻炼下思维. Compare rows in the same table and group th ...

  6. libthrift0.9.0解析(五)之TNonblockingServer&THsHaServer

    本文是一边看代码一边写的,是真随笔,随看随下笔. 看TNonblockingServer,先看其父类AbstractNonblockingServer.一般来说,父类封装的都是通用的东西,具体的底层实 ...

  7. <address>标签,为网页加入地址信息

    一般网页中会有一些网站的联系地址信息需要在网页中展示出来,这些联系地址信息如公司的地址就可以<address>标签.也可以定义一个地址(比如电子邮件地址).签名或者文档的作者身份. 语法: ...

  8. POJ 2411.Mondriaan's Dream 解题报告

    题意: 给出n*m (1≤n.m≤11)的方格棋盘,用1*2的长方形骨牌不重叠地覆盖这个棋盘,求覆盖满的方案数. Solution:                位运算+状态压缩+dp       ...

  9. 【USACO 3.1.6】邮票

    [描述] 已知一个N枚邮票的面值集合(如,{1分,3分})和一个上限K ——表示信封上能够贴K张邮票.计算从1到M的最大连续可贴出的邮资. 例如,假设有1分和3分的邮票:你最多可以贴5张邮票.很容易贴 ...

  10. 用Guava辅助Throwable异常处理

    Guava的 Throwables 工具常常可以让exception处理更方便. Propagation 有时候,你会想把捕获的exception抛到上一个try/catch块.对于 RuntimeE ...