题意: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. NYOJ-520 最大素因子

    这个题基本上就两个知识点, 一个素数筛选法求素数,另一个是求最大公因子, 不过确定最大素数在素数表中的位置时,要用到二分的思想,不然会超时,下面是具体代码的实现; #include <stdio ...

  2. lucene建立索引的过程

    建立索引过程 用户提交数据=>solr建立索引=>调用lucene包建立索引 官方建立索引和查询索引的例子如下: http://lucene.apache.org/core/4_10_3/ ...

  3. oracle问题 《经由直接路径由 EXPORT:V10.02.01 创建的导出文件 IMP-00013: 只有 DBA 才能导入由其他 DBA 导出的文件》

    问题:  经由直接路径由 EXPORT:V10.02.01 创建的导出文件 : 只有 DBA 才能导入由其他 DBA 导出的文件 解决方法:用sys 登录,给当前用户授权,授权语句:grant dba ...

  4. Cacti添加threshold、monitor和setting

    Cacti版本:Version 0.8.8b 一.插件介绍: monitor:通过简单明了的图标提供服务器的运行状态 settings:给不同的插件提供一些共用的信息,如邮件信息,dns信息thold ...

  5. MySQL 删除数据表

    MySQL 删除数据表 MySQL中删除数据表是非常容易操作的, 但是你再进行删除表操作时要非常小心,因为执行删除命令后所有数据都会消失. 语法 以下为删除MySQL数据表的通用语法: DROP TA ...

  6. JavaScript--模拟验证码

    <!doctype html> <html> <head> <meta charset="UTF-8"> <title> ...

  7. Spring 环境搭建

    1.导包 2.编写Helloworld程序 package cn.test.helloWorld; public class HelloWorld { public void sayHello(){ ...

  8. java学习——网络编程UDP

    UDP 将数据及源和目的封装成数据包中,不需要建立连接 每个数据报的大小限制在64k内 因无连接,是不可靠协议 不需要建立连接,速度快 TCP 建立连接,形成传输数据的通道 在连接中进行大数据量传输 ...

  9. 【USACO 1.2.4】回文平方数

    [题目描述] 回文数是指从左向右念和从右向左念都一样的数.如12321就是一个典型的回文数. 给定一个进制B(2<=B<=20,由十进制表示),输出所有的大于等于1小于等于300(十进制下 ...

  10. 用webclient.DownloadFile下载exe文件时大小为0

    用自己写的下载软件从服务器端下载文件,别的文件能下,但exe文件显示下载文件大小为0,连接超时,原因是服务上发布的下载文件夹的虚拟目录的属性有问题, 包含.exe 文件的虚拟目录已启用执行应用程序权限 ...