最大流sap模板 (转自庄神)
来源:互联网 发布:淘宝网店营销策略 编辑:程序博客网 时间:2024/05/01 00:56
最大流sap模板
转自庄神:Orz zsO
以后就用它了 好高兴。。。233333
http://www.zlinkin.com/?p=34
typedef struct { int v, next, val;} edge;const int MAXN = 20010;const int MAXM = 500010; edge e[MAXM];int p[MAXN], eid; inline void init() { memset(p, -1, sizeof(p)); eid = 0;} //有向inline void insert1(int from, int to, int val) { e[eid].v = to; e[eid].val = val; e[eid].next = p[from]; p[from] = eid++; swap(from, to); e[eid].v = to; e[eid].val = 0; e[eid].next = p[from]; p[from] = eid++;} //无向inline void insert2(int from, int to, int val) { e[eid].v = to; e[eid].val = val; e[eid].next = p[from]; p[from] = eid++; swap(from, to); e[eid].v = to; e[eid].val = val; e[eid].next = p[from]; p[from] = eid++;} int n, m; //n为点数 m为边数int h[MAXN];int gap[MAXN]; int source, sink;inline int dfs(int pos, int cost) { if (pos == sink) { return cost; } int j, minh = n - 1, lv = cost, d; for (j = p[pos]; j != -1; j = e[j].next) { int v = e[j].v, val = e[j].val; if(val > 0) { if (h[v] + 1 == h[pos]) { if (lv < e[j].val) { d = lv; } else { d = e[j].val; } d = dfs(v, d); e[j].val -= d; e[j ^ 1].val += d; lv -= d; if (h[source] >= n) { return cost - lv; } if (lv == 0) { break; } } if (h[v] < minh){ minh = h[v]; } } } if (lv == cost) { --gap[h[pos]]; if (gap[h[pos]] == 0) { h[source] = n; } h[pos] = minh + 1; ++gap[h[pos]]; } return cost - lv; } int sap(int st, int ed) { source = st; sink = ed; int ret = 0; memset(gap, 0, sizeof(gap)); memset(h, 0, sizeof(h)); //gap[st] = n; gap[0] = n; while (h[st] < n) { ret += dfs(st, INT_MAX); } return ret;}
- 最大流sap模板 (转自庄神)
- 最大流 SAP模板
- 最大流Sap模板
- 最大流SAP模板
- SAP最大流模板
- 网络最大流(SAP)【模板】
- 网络最大流(SAP)模板
- 最大流SAP模板(邻接矩阵)
- 网络流最大流EdmondKarp、SAP【模板】
- 网络流最大流sap算法模板
- 最大流模板(sap+gap+当前弧)
- 【最大流之sap】【HDU1532】模板题
- 最大流SAP -邻接表模板
- 网络最大流(SAP)
- 最大流(SAP算法)
- 最大流板子(Sap)
- PKU 2391[floyd+二分枚举+[最大流]【sap模板】]
- poj 3469 最大流-最小割 SAP算法模板
- [转] 2013年阿里巴巴暑期实习招聘笔试题目
- 链队列
- CSS基础代码库 Nice UE
- 被遗忘的计算机之父
- insert 复合语句和 update 复合语句
- 最大流sap模板 (转自庄神)
- 程序员技术练级攻略
- 循环队列
- nginx的301
- PHP 文件操作
- 栈
- 二次贝塞尔曲线应用-生成飞机路径示意图
- c++ 标准模板库 STL 算法之 for_each 函数的使用用法详解
- Add Binary