最小费用最大流 spfa() + ek()
来源:互联网 发布:linux superuser 编辑:程序博客网 时间:2024/06/05 16:18
/** 一个多月没碰,感觉忘完了…… 最小费就是有多条路可以满足最大流量的情况下所需要的最小费用 把费用改成相反数或改下spfa()的松弛就可最大费了 比如:从北京到上海运送一批货物,给出中间经过每条路线上对每辆车的收费,以及 每条路一次允许经过的车的数量,求一次性从北京到上海送尽可能多的货物情况下的最 小费用,当然中间经过的路线用二维数组即可表示,还有每条路的费用 则s 为北京, t 为上海, 带下面的模板即可 把问题转换成这个模型才是解决问题的关键,模板谁都会噢*/int cap[Max][Max], pre[Max], cost[Max][Max];int que[Max], vis[Max], ans;bool spfa(int s, int t) { int i, head = 0, tail = 1; for (i=0; i<=n; i++) { dis[i] = inf; vis[i] = false; } dis[s] = 0; que[0] = s; while (tail != head) { int u = que[head++]; vis[u] = true; for (i=0; i<=n; i++) { //n+1为点的个数 if (cap[u][i] && dis[i] > dis[u] + cost[u][i]) { //每次挑最小费用的路径 //这变成 < 即为最大费 dis[i] = dis[u] + cost[u][i]; pre[i] = u; //记录增广路径 if (!vis[i]) { vis[i] = true; que[tail++] = i; if (tail == max) tail = 0; } } } vis[u] = false; if (head == Max) head = 0; } if (dis[t] < inf) return true; return false;}void end(int s, int t) { int i, sum = inf; for (i=t; i!=s; i=pre[i]) sum = min(sum, cap[pre[i]][i]); for (i=t; i!=s; i=pre[i]) { cap[pre[i]][i] -= sum; cap[i][pre[i]] += sum; ans += cost[pre[i]][i]*sum; }}int main(){ //cap为源点汇点对应边得流量, cost 两边间的费用 //cost赋值 与源点汇点连接的cost 赋为0, cost[i][j] = a; cost[j][i] = -a; //设源点为 s 汇点为 t //调用: ans = 0; while (spfa(s, t)) end(s, t); return 0;} 收藏于 2012-01-08来自于百度空间
0 0
- 最小费用最大流 spfa() + ek()
- poj 2195 最小费用最大流 EK+SPFA
- poj 2135 最小费用最大流 EK+SPFA
- HDU 1533 (最小费用最大流)(spfa+ek或spfa+dinic)
- 最小费用最大流(spfa、EK算法及(构图----尤其重要))
- 邻接表--建图、spfa、EK算法 (转化为最小费用最大流)
- 最小费用最大流,SPFA
- 费用流模板 spfa+EK
- 最小费用最大流uva10806+spfa
- Farm Tour-最小费用最大流/SPFA
- poj2195 spfa 最小费用最大流
- 【模板】SPFA增广 最小费用最大流
- hdu1533(最小费用最大流spfa模板)
- 【图论】最大流之EK算法与Dinic算法及最小费用最大流
- 【图论】最大流之EK算法与Dinic算法及最小费用最大流(转)
- POJ2195 Going Home(SPFA最小费用最大流)
- POJ 2195:Going Home(SPFA最小费用最大流)
- poj 2516 Minimum(SPFA解决最小费用最大流)
- 通过金矿模型介绍动态规划
- 软件测试
- MySQL学习笔记(二)--存储类型
- LeetCode OJ 之 H-Index (H指数)
- X-UA-Compatible属性的解释
- 最小费用最大流 spfa() + ek()
- Linux下安装mysql-python
- Java用循环链表解决约瑟夫环问题(循环报数)
- 大端模式和小端模式
- Spring事物处理
- 前后台系统的精髓
- HDU 1102 Constructing Roads -- prime
- 百度分享_自定义分享代码
- 欢迎使用CSDN-markdown编辑器