题目描述

如题,给出一个网络图,以及其源点和汇点,求出其网络最大流。

输入输出格式

输入格式:

第一行包含四个正整数N、M、S、T,分别表示点的个数、有向边的个数、源点序号、汇点序号。

接下来M行每行包含三个正整数ui、vi、wi,表示第i条有向边从ui出发,到达vi,边权为wi(即该边最大流量为wi)

输出格式:

一行,包含一个正整数,即为该网络的最大流。

输入输出样例

输入样例:

4 5 4 3
4 2 30
4 3 20
2 3 20
2 1 30
1 3 40

输出样例:

50

样例说明:

题目中存在3条路径:

4-->2-->3,该路线可通过20的流量

4-->3,可通过20的流量

4-->2-->1-->3,可通过10的流量(边4-->2之前已经耗费了20的流量)

故流量总计20+20+10=50。输出50。

说明

对于100%的数据:N<=10000,M<=100000

struct MaxFlow{struct Edge{int to,c,pre;}e[M];int sz=1,S,T;int H[N],las[N],cur[N],gap[N];void Add(int a,int b,int c){e[++sz]=(Edge){b,c,las[a]}; las[a]=sz;e[++sz]=(Edge){a,0,las[b]}; las[b]=sz;}int ISAP(int x,int F,int usd=0){if (x==T) return F;for (int i=cur[x],v;i;i=e[i].pre)if (e[i].c && H[v=e[i].to]+1==H[x]){int f=ISAP(v,min(e[i].c,F-usd));e[i].c-=f; e[i^1].c+=f;usd+=f;if (e[i].c) cur[x]=i;if (usd==F) return usd;}if (gap[H[x]]==1) H[S]=n+4;--gap[H[x]]; ++gap[++H[x]];cur[x]=las[x];return usd;}int Maxflow(int Ans=0){while (H[S] < n+4) Ans+=ISAP(S,INF);return Ans;}
}G;

转载于:https://www.cnblogs.com/Dance-Of-Faith/p/7738170.html

【模板】ISAP最大流相关推荐

  1. P4722 【模板】最大流

    P4722 [模板]最大流 加强版 / 预流推进 今日心血来潮,打算学习hlpp 然后学了一阵子.发现反向边建错了.容量并不是0.qwq 然后就荒废了一晚上. 算法流程的话.有时间补上 #includ ...

  2. 网络流 费用流 模板 ISAP+SPFA+ZKW

    2020年4月20日重新发布.7年前的文章,几年前CSDN改版的时候变成了私密--重新发一下吧. 关于费用流ZKW算法的讲解:从入门到精通: 最小费用流的"zkw算法" 关于Din ...

  3. zkw费用流 java_[模板] 网络流相关/最大流ISAP/费用流zkw

    最大流/ISAP 话说ISAP是真快...(大多数情况)吊打dinic,而且还好写... 大概思路就是: 在dinic的基础上, 动态修改层数, 如果终点层数 $>$ 点数, break. 暂时 ...

  4. 【模板】最大流之上下界可行流

    ACM模板 目录 无源汇上下界可行流 有源汇上下界最大流 有源汇上下界最小流 无源汇上下界可行流 问题: 给定一个网络,求一个流满足:每条边的流量处在给定的下界和上届[lower,upper]之间,满 ...

  5. 《C++程序设计POJ》《WEEK7 输入输出和模板》《流操纵算子》《文件读写》《二进制文件读写》...

    函数指针,运算符重载 人懂我精,人精我深 用的时候查一查手册 dat 二进制文件 如果不指定文件夹,就是生成在当前文件夹,什么是当前文件夹?可执行文件所在的文件夹 绝对路径 相对路径 文件的读写指针 ...

  6. 模板 · ISAP网络流+GAP优化+弧优化

    //ISAP+GAP优化+弧优化 #include <bits/stdc++.h> using namespace std; const int INF = 0x7f7f7f7f; str ...

  7. [Luogu] P3376 模板-网络流-最大流

    题目描述 如题,给出一个网络图,以及其源点和汇点,求出其网络最大流. 输入输出格式 输入格式: 第一行包含四个正整数N.M.S.T,分别表示点的个数.有向边的个数.源点序号.汇点序号. 接下来M行每行 ...

  8. [洛谷P4722]【模板】最大流 加强版 / 预流推进

    会$TLE$... C++ Code:(HLPP) #pragma GCC optimize(3) #pragma GCC optimize("unroll-loops") #in ...

  9. 算法学习笔记:网络流#4——ISAP 求解最大流

    算法学习笔记:网络流#4--ISAP 求解最大流 1. 前言 2. 模板 2.1 详解 2.2 正确性证明 2.3 代码 3. 算法对比 3.1 一般数据下的对比 3.2 特殊数据下的对比 4. 总结 ...

最新文章

  1. html点击屏幕向右移动,HTML – 一旦打开,如何使移动页面适合屏幕?
  2. 【错误记录】Flutter 报错 ( Could not resolve io.flutter:flutter_embedding_debug:1.0.0. )
  3. 搞懂Java分布式锁实现看这篇文章就对了
  4. struts-resultType属性
  5. error_reporting
  6. 月老办事处月云开发微信小程序源码
  7. mysql dba命令_mysql DBA:mysqladmin常用命令总结
  8. Windows 对外开放端口号
  9. MDX Cookbook 08 - 基于集合上的迭代递归
  10. 【MCM-2017】2017年数模美赛D题 - 特奖论文学习
  11. 安装排版软件latex
  12. Java8日期类型常见用法总结
  13. 如何让我们的软件跳过360和金山毒霸的“随意拦截”?
  14. diskgenius克隆硬盘无法启动_用diskgenius成功拷出故障硬盘数据
  15. java audio 分帧_语音特征参数MFCC提取过程详解
  16. 2021年金融科技书单推荐
  17. 页面优化之懒加载与预加载
  18. 精美UI静态界面欣赏
  19. 联想g40改Android,求大神帮忙,联想g40如何改win7系统?
  20. 微信小程序显示分页列表

热门文章

  1. 河南城建计算机网络试卷,河南城建计算机网络技术学习心得体会.docx
  2. SQLmap常用命令/使用教程
  3. windows打开设备管理器
  4. Liferay 中Minifier Filter的minifyCss 奥秘窥探
  5. 如何反编译.apk(注:CSDN上提供的资源过时了,都用不了)
  6. PHP5.3版本安装
  7. 从零开始学_JavaScript_系列(22)——dojo(9)(表单、JsonRest的post方法,widget的使用思路)...
  8. Adobe Photoshop CC 打开时报错~配置错误:请卸载并重新安装该产品
  9. php myadmin 安装
  10. AJAX vs FLEX:执行,传送,解析JSON,HTML,XML,AFM格式效率比较.