模板_Dinic算法
来源:互联网 发布:网易域名邮箱注册 编辑:程序博客网 时间:2024/06/05 20:36
const int inf = 0x3f3f3f3f;const int MX = 105;const int MXE = 4 * MX * MX;struct MaxFlow { struct Edge { int v, w, nxt; } edge[MXE]; int tot, num, s, t; int head[MX]; void init() { memset(head, -1, sizeof(head)); tot = 0; } void add(int u, int v, int w) { edge[tot].v = v; edge[tot].w = w; edge[tot].nxt = head[u]; head[u] = tot++; edge[tot].v = u; edge[tot].w = 0; edge[tot].nxt = head[v]; head[v] = tot++; } int d[MX], vis[MX], gap[MX]; void bfs() { memset(d, 0, sizeof(d)); memset(gap, 0, sizeof(gap)); memset(vis, 0, sizeof(vis)); queue<int>q; q.push(t); vis[t] = 1; while (!q.empty()) { int u = q.front(); q.pop(); for (int i = head[u]; ~i; i = edge[i].nxt) { int v = edge[i].v; if (!vis[v]) { d[v] = d[u] + 1; gap[d[v]]++; q.push(v); vis[v] = 1; } } } } int last[MX]; int dfs(int u, int f) { if (u == t) return f; int sap = 0; for (int i = last[u]; ~i; i = edge[i].nxt) { int v = edge[i].v; if (edge[i].w > 0 && d[u] == d[v] + 1) { last[u] = i; int tmp = dfs(v, min(f - sap, edge[i].w)); edge[i].w -= tmp; edge[i ^ 1].w += tmp; sap += tmp; if (sap == f) return sap; } } if (d[s] >= num) return sap; if (!(--gap[d[u]])) d[s] = num; ++gap[++d[u]]; last[u] = head[u]; return sap; } int solve(int st, int ed, int n) { int flow = 0; num = n; s = st; t = ed; bfs(); memcpy(last, head, sizeof(head)); while (d[s] < num) flow += dfs(s, inf); return flow; }} F;
阅读全文
0 0
- 模板_Dinic算法
- poj1273_EK模板_dinic模板
- 最大流算法_Dinic
- 网络流_Dinic
- 【DayDayUp】【算法_图_网络流_之二_Dinic层次图与最小费最大流的概述】(待续)
- 匈牙利算法模板+KM算法模板
- 【模板】基础算法&&小算法
- 最大流算法模板
- 快速幂取模算法模板
- Dinic 算法模板
- 基础SPFA算法模板
- 最大流算法模板
- kmp算法模板
- rmq算法模板
- poj3461KMP算法模板
- KM算法模板
- 匈牙利算法模板
- Sap算法模板
- jquery操作复选框(checkbox)的方式
- 【GDOI2018模拟8.14】神奇的矩阵
- 无人机项目获取用户信息并进行用户信息修改的angularjs部分
- 玩转spring boot——简单登录认证
- 可扩展性的页面布局
- 模板_Dinic算法
- eclipse上传项目到GitHub上
- 企业级架构师应该向谁汇报工作?
- [EMNLP2015]Effective Approaches to Attention-based Neural Machine Translation
- Cython 入门:helloworld
- Spring设值注入
- Android电视应用首页开发以及效果展示
- maven项目生成war包,发布tomcat服务器报错,问题解决
- 面向 DBA 的 Linux Shell 脚本简介