博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
UVa(12821),MCMF
阅读量:5982 次
发布时间:2019-06-20

本文共 1726 字,大约阅读时间需要 5 分钟。

题目链接:

比赛的时候,准备用最短路来做,存两张图,做两次最短路,本来还觉得第二张图的设计很好的,很不错,结果过了好多案例,还是莫名其妙的WA了。

好吧,问题来了。

6 7

1 2 1 100
2 3 10 100
1 4 10 100
2 5 1 100
3 6 10 100
4 5 10 100
5 6 1 100

ans = 42,

最短路思路就是不对的。

完了之后,听阳哥说,直接MCMF啊,当时我就傻逼了,主要是我MCMF的题目做少了,不会想到是MCMF。

这里: 每条边的容量是1,花费是边权,然后是超级源点和汇点,容量是2,花费是0。

模板来自刘汝佳,改了Bellman-Ford,用的是SPFA.

#include 
#include
#include
#include
#include
#define INF 0x3f3f3f3fusing namespace std;const int maxn = 600;struct Edge{ int from,to,cap,flow,cost; Edge() {} Edge(int a,int b,int c,int d,int e):from(a),to(b),cap(c),flow(d),cost(e) {}};struct MCMF{ int n,m,s,t; vector
edges; vector
g[maxn]; int inq[maxn]; int d[maxn]; int p[maxn]; int a[maxn]; void init(int n) { this->n =n; for(int i=0; i
q; q.push(s); while(!q.empty()) { int u=q.front(); q.pop(); inq[u]=0; for(int i=0; i
e.flow && d[e.to]>d[u]+e.cost) { d[e.to]=d[u]+e.cost; p[e.to]=g[u][i]; a[e.to]=min(a[u],e.cap-e.flow); if(!inq[e.to]) { q.push(e.to); inq[e.to]=1; } } } } if(d[t]==INF) return false; flow+=a[t]; cost+=a[t]*d[t]; for(int u=t; u!=s; u=edges[p[u]].from) { edges[p[u]].flow +=a[t]; edges[p[u]^1].flow-=a[t]; } return true; } int MincostMaxflow(int s,int t) { int flow=0,cost =0; while(spfa(s,t,flow,cost)); return cost; }} sol;int main(){ freopen("input.txt","r",stdin); freopen("output.txt","w",stdout); int n,m,cas=1; while(scanf("%d%d",&n,&m)!=EOF) { int s=0,t=n+1; sol.init(n+2); while(m--) { int u,v,c,ad; scanf("%d%d%d%d",&u,&v,&c,&ad); sol.addedge(u,v,1,c); sol.addedge(u,v,1,c+ad); } sol.addedge(s,1,2,0); sol.addedge(n,t,2,0); printf("Case %d: %d\n",cas++,sol.MincostMaxflow(s,t)); }}

 

转载于:https://www.cnblogs.com/TreeDream/p/5801286.html

你可能感兴趣的文章
Goldengate双向复制配置
查看>>
Oracle官方内部MAA教程
查看>>
DNS相关配置
查看>>
miniWindbg 功能
查看>>
CF772E Verifying Kingdom
查看>>
测试驱动开发
查看>>
轻松实现远程批量拷贝文件脚本(女学生作品)
查看>>
【沟通之道】头脑风暴-女人的心思你别猜
查看>>
Windows Phone 8 开发资源汇总
查看>>
Git:配置
查看>>
神经系统知识普及
查看>>
Spring可扩展Schema标签
查看>>
c++ STL unique , unique_copy函数
查看>>
http://miicaa.yopwork.com/help/overall/
查看>>
浅谈关于特征选择算法与Relief的实现
查看>>
mybatis-spring 项目简介
查看>>
Wireshark抓取RTP包,还原语音
查看>>
Behavioral模式之Memento模式
查看>>
Work Management Service application in SharePoint 2016
查看>>
Dos 改动IP 地址
查看>>