动态更新-算法模版合集
时间:2019-10-18
本文章向大家介绍动态更新-算法模版合集,主要包括动态更新-算法模版合集使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
动态更新-算法模版合集
图论
最大流
int s=1995,t=1996;
struct gg {
int u,v,w,next;
}side[maxn*2];
int head[maxn],cnt=1,maxflow,cur[maxn],rk[maxn];
using namespace std;
void insert(int u,int v,int w) {
struct gg a={u,v,w,head[u]};side[++cnt]=a;head[u]=cnt;
};
bool bfs() {
memset(rk,0,sizeof(rk));rk[s]=1;
queue<int>q;q.push(s);
while(!q.empty()) {
int now=q.front();q.pop();
for(int i=head[now];i;i=side[i].next) {
int v=side[i].v,w=side[i].w;//w为容量
if(!w||rk[v])continue;
rk[v]=rk[now]+1;
q.push(v);
}
}
if(rk[t])return 1;//走得到
return 0;
}
int dfs(int now,int flow) {//flow为上一个点能传到这里的流量
if(now==t)return flow;
int tot=0;
for(int &i=cur[now];i;i=side[i].next) {//当前弧优化
int v=side[i].v,w=side[i].w;
if(!w||rk[v]!=rk[now]+1)continue;
int sent=dfs(v,min(flow,w));//sent为当前增广的流量
tot+=sent;//累计答案
flow-=sent;side[i].w-=sent;side[i^1].w+=sent;//更新残余网络
}
return tot;
}
void dinic() {
while(bfs()) {
memcpy(cur,head,sizeof(head));//当前弧优化
maxflow+=dfs(s,inf);
}
}
原文地址:https://www.cnblogs.com/GavinZheng/p/11698229.html
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Linux中的awk数组的基本使用方法
- Linux查看分区文件系统类型的方法总结
- Linux更改账户密码实例详解
- linux epoll机制详解
- linux IPC之socket解析及实例代码
- python 舆情分析 nlp主题分析 (3) --gensim库的简单使用
- apache下面二级目录部署react/vue的方法
- Linux下使用ip netns命令进行网口的隔离和配置ip地址
- Linux服务器操作系统加固方法
- linux NFS 服务安全加固方法
- CentOS 7.6安装MySQL 5.7 GA版的教程图解
- CentOS7.2 忘记root密码及重置root密码的简单处理方法
- Linux中文件描述符fd与文件指针FILE*互相转换实例解析
- Linux内核如何输出中文字符的方法示例
- Linux硬盘合并的实现代码