【算法学习】网络流模板……
网络流最大流(最小割)Dinic模板……
1 const int INF=99999999; 2 const int Maxn=; 3 const int Maxm=; 4 inline int Min(int p,int q){return p<q?p:q;} 5 int n,m,h[Maxn+5],to[Maxm*2+5],cap[Maxm*2+5],nxt[Maxm*2+5],tot=1,Sum=0,que[Maxn+5],l,r,lv[Maxn+5],iter[Maxn+5]; 6 inline void ins(int x,int y,int c){nxt[++tot]=h[x];to[tot]=y;cap[tot]=c;h[x]=tot;} 7 inline void INS(int x,int y,int c){ins(x,y,c);ins(y,x,0);}
1 inline bool lvl() { 2 memset(lv,0,sizeof lv); 3 int u; 4 l=r=1; que[1]=0; lv[0]=1; 5 while(l<=r) { 6 u=que[l++]; 7 eF(i,u) if(!lv[to[i]]&&cap[i]) { 8 lv[to[i]]=lv[u]+1; 9 que[++r]=to[i]; 10 } 11 } 12 return lv[T]; 13 } 14 int flow(int u,int f) { 15 if(u==T) return f; 16 int d,sum=0; 17 for(int&i=iter[u];i;i=nxt[i]) if(lv[to[i]]==lv[u]+1&&cap[i]) { 18 d=flow(to[i],Min(f,cap[i])); 19 sum+=d; f-=d; 20 cap[i]-=d; cap[i^1]+=d; 21 if(!f) return sum; 22 } 23 return sum; 24 } 25 int Dinic() { 26 int ans=0; 27 while(lvl()) { 28 for(int i=0;i<=T;++i) iter[i]=h[i]; 29 ans+=flow(0,INF); 30 } 31 return ans; 32 } 33 int main() { 34 init(); 35 printf("%d",Sum-Dinic()); 36 }
没了……
init自己打 :(
转载于:https://www.cnblogs.com/PinkRabbit/p/7115407.html
【算法学习】网络流模板……相关推荐
- 算法学习笔记:网络流#4——ISAP 求解最大流
算法学习笔记:网络流#4--ISAP 求解最大流 1. 前言 2. 模板 2.1 详解 2.2 正确性证明 2.3 代码 3. 算法对比 3.1 一般数据下的对比 3.2 特殊数据下的对比 4. 总结 ...
- 基础算法学习大纲(附加yxc大佬算法模板)
基础算法学习大纲总结 学习算法路线 1.基础算法 模板 1.排序 2.二分 3.高精度 4.前缀和与差分 5.双指针算法 6.位运算 7.离散化 8.区间合并 2.数据结构 模板 1.链表与邻接链表( ...
- 网络流算法学习笔记——最大流问题基本概念和Ford-Fulkerson方法(标号法C++实现)
屈婉玲<算法设计与分析>第2版第7章网络流算法学习笔记. 基本概念 最大流问题,相当于有从s到t的供水系统,每段路径都有限定流量,除了s.t两地外,每个中间点都不能滞留,从s流入多少,就从 ...
- Python最优化算法学习笔记(Gurobi)
微信公众号:数学建模与人工智能 github地址:https://github.com/QInzhengk/Math-Model-and-Machine-Learning Python最优化算法学习笔 ...
- 原创 | 初学者友好!最全算法学习资源汇总(附链接)
在计算机发展飞速的今天,也许有人会问,"今天计算机这么快,算法还重要吗?"其实永远不会有太快的计算机,因为我们总会想出新的应用.虽然在摩尔定律的作用下,计算机的计算能力每年都在飞快 ...
- 大顶堆删除最大值_算法学习笔记(47): 二叉堆
堆(Heap)是一类数据结构,它们拥有树状结构,且能够保证父节点比子节点大(或小).当根节点保存堆中最大值时,称为大根堆:反之,则称为小根堆. 二叉堆(Binary Heap)是最简单.常用的堆,是一 ...
- 算法学习:后缀自动机
[前置知识] AC自动机(没有什么关联,但是看懂了会对后缀自动机有不同的理解) [解决问题] 各种子串的问题 [算法学习] 学习后缀自动机的过程中,看到了许多相关性质和证明,但是奈何才疏学浅(lan) ...
- 算法学习:最小圆覆盖
[参考博客] https://www.cnblogs.com/bztMinamoto/p/10698920.html [定义] [圆]一个圆心和他的半径,就能够确定这个半径 [解决问题] 字面意思 给 ...
- 算法学习:强连通分量 --tarjan
[定义] [强连通分量] 在一个子图中,任意点能够直接或者间接到达这个子图中的任意点,这个子图被称为强连通分量 [解决问题] 求图的强连通分量 同时能够起到 ...................缩点 ...
- 算法学习:后缀数组(SA)
[参考博客] https://xminh.github.io/2018/02/27/%E5%90%8E%E7%BC%80%E6%95%B0%E7%BB%84-%E6%9C%80%E8%AF%A6%E7 ...
最新文章
- linux 压缩 解压缩 详解
- nginx---ngix虚拟主机配置实例
- 使用webflux提升数据导出效率
- RocketMQ源码分析之RocketMQ事务消息实现原理上篇(二阶段提交)
- JVM解释器和编译器
- Log4j的快速入门
- 程序员们请别做下一个小贝
- 怎样用CDN防篡改、抗攻击、控内容?一份CDN安全指南请查收
- pygame-KidsCanCode系列jumpy-part15-PowerUp加速器
- 写给自己的23条好习惯
- 解决ifconfig没有网卡问题
- c++优先队列小节(常常弄混)
- 关联分析(二)--FP-Growth算法
- php 用header()下载文件在firefox下没有后缀名
- 经纬度转换器_FME应用小实例:线面经纬度集合快速转几何图形
- 简明Jieba中文分词教程(分词、关键词提取、词性标注、计算位置)
- AI大军已经兵临城下,我们离失业还有多远?
- 脱离低级趣味- Python ‘\r‘, ‘\n‘, ‘\r\n‘ 的彻底理解
- 有哪些好用的国产婴儿润肤霜?纽强怎么样?
- Unity Ugui 详解 Content Size Fitter 和 Horizontal Layout Group 的使用
热门文章
- 读《系统虚拟化-原理与实现》-第一章
- 关于SDL SDL_CreateWindowFrom和SDL_DestroyWindow第二次后无法将视频显示出来。
- 数据库:MySQL、HBase、ElasticSearch三者对比
- 一文详解CSS常见的五大布局
- 几个故事告诉你,火热的区块链究竟是什么?
- python进阶(第三章1) 字典
- python 栈【测试题】
- java中main函数的args参数
- 印发 指南 通知_通知设计的综合指南
- 安装jenkins时出现 No such plugin: cloudbees-folder的解决办法