node 表示当前讨论到的节点; flow 表示该节点被传入/要传出的流量;s, t, ver 分别是起点,终点,节点总数; SAP 函数返回增广路成功增大的流量; dlt 是当前已传出的流量; c 是残量。

 1 const int INF = ~0U >> 1;
 2
 3 int SAP(int node, int flow)
 4 {
 5     if (node == t)
 6         return flow;
 7     int p, tmp, dlt = 0;
 8     for (p = fst[node]; p; p = nxt[p]) {
 9         if (w[p] <= 0 || dis[v[p]] + 1 != dis[node])
10             continue;
11         tmp = dfs(v[p], min(flow - dlt, c[p]));
12         c[p] -= tmp;
13         c[p + 1] += tmp;
14         if ((dlt += tmp) == flow || dis[s] == ver)
15             return dlt;
16     }
17     if (!--cnt[dis[node]])
18         dis[s] = ver;
19     ++cnt[++dis[node]];
20     return dlt;
21 }
22
23 int main()
24 {
25     /* input */
26     while (dis[s] < ver)
27         ans += SAP(s, INF);
28     printf("%d\n", ans);
29     return 0;
30 }

转载于:https://www.cnblogs.com/ghcred/p/5720053.html

网络流-SAP算法模板相关推荐

  1. 网络流入门——算法模板,习题和解析

    最近一段时间再搞网络流,今天终于搞完了!!!!QAQ,好累呀. 首先是关于网络流的基础知识,这部分东西有点多,就不在这里说了,给几个有用的资源. 先推荐一下建图的博客:链式向前星,静态链表和邻接矩阵建 ...

  2. (转)网络流-最大流 SAP算法(模板)

    今天做了一个毒瘤题把dinic卡了,不想因为优化常数改变习惯性的写法,干脆就直接去找个效率更高的算法拿来用多好 注意这套板子的n要在全局变量中用,并且n是所有点的数量(包括源点和汇点),所以在有的时候 ...

  3. 关于网络流sap算法

    今天终于学习了网络流..之前一直很怕这类问题,个人觉得网络流算是图论里面最难的了.... sap学习下来感觉一般,关于解法都是意识流,细节也是蛮多的.. 我这里先贴一份模版,自已也加了点注释(只是个人 ...

  4. 网络流Dinic算法模板 POJ1273

    这就是以后我的板子啦~~~ #include <queue> #include <cstdio> #include <cstring> #include <a ...

  5. 我的网络流sap,isap,dinic三种方法的对比总结

    转载请注明出处:http://blog.csdn.net/sprintfwater/article/details/7913181 Dinic算法 Accepted 1532 15MS 280K 24 ...

  6. 图论算法小结:网络流及其算法

    个人说明:最近学到了图论算法,但网络流这部分颇难理解,于是在网上找到了一片比较好的讲解博客.转载之~ 网络流(Network Flow) 将每条有向边想象成传输物质的管道.每个管道都有一个固定的容量, ...

  7. 最大流ISAP算法模板

    这两天学习了最大流,下面是ISAP算法模板: const int inf = 0x3fffffff; template <int N, int M> struct Isap {int to ...

  8. NOIP常用算法模板

    NOIP复赛快到了,于是我整理了一份算法模板,以防忘记.本人弱省OI蒟蒻,若有不正确的地方请指出 1.并查集算法 //并查集基本思想:将两个独立的集合合并到一坨(莫忘鸟要判断根节点是否相同) #inc ...

  9. GitHub超4.4k星:程序员求职,一个算法模板就够了

    来源:新智元 本文约1800字,建议阅读5分钟 本文为你介绍程序员求职中科学的.高效的刷题方式. [ 导读 ] 近日,GitHub上一个名为"算法模板"的项目引发热议,获得了超4. ...

最新文章

  1. Linux服务器日志备份到本地
  2. 区块链共识算法:PoS即权益证明 DPoS委托授权的权益证明
  3. PYTHON2.day07
  4. CSS设置按钮式超链接
  5. Coursera吴恩达《神经网络与深度学习》课程笔记(3)-- 神经网络基础之Python与向量化
  6. 2016年Web前端面试题
  7. 微信公众号sae服务器搭建,SAE 搭建微信公众平台
  8. python数据检索_python – Hachoir – 从组中检索数据
  9. Cocos2d-x建工程时避免copy文件夹和库
  10. HDU.1001 Sum Problem
  11. React Router最新指南与异步加载实践
  12. word文档中打钩的8种方法【实用】
  13. xh2.54母头转换为杜邦线母头
  14. Java开发基础知识学习总结之(上)-王者笔记建议收藏
  15. java jwt登录_图解JWT如何用于单点登录
  16. 2021B站1024程序员节 网络攻防CTF
  17. 计算机图形学01:直线生成算法(DDA算法)
  18. 【RTOS训练营】队列的读写、休眠和唤醒、常规应用、使用和晚课提问
  19. 投资银行业务财务报表分析
  20. latex文档排版时空出一行的命令

热门文章

  1. 极大似然估计 摘自维基百科
  2. apt-get for ubuntu 工具简介
  3. “电脑人才”是怎么炼成的
  4. Booster 系列之——多线程优化
  5. JS内存管理与垃圾回收
  6. HttpServletRequest中获取IP值
  7. Hadoop集群(四) Hadoop升级
  8. Maven依赖的是本地工程还是仓库jar包?
  9. Supermap 组合单值专题图与标签专题图演示样例
  10. (翻译)31天Windows Phone学习-1-项目模板