博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
POJ-2112 Optimal Milking(最大流)未完待续~
阅读量:7064 次
发布时间:2019-06-28

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

 

 

1 #include 
2 #include
3 #include
4 #include
5 #include
6 #include
7 #include
8 #include
9 #include "algorithm"10 #define mem(a,b) memset(a,b,sizeof(a))11 using namespace std;12 typedef long long LL;13 const int MAX=255;14 const int oo=100000005;15 int K,C,M,n;16 int st,en;17 int a[MAX][MAX],f[MAX][MAX],fa[MAX];18 void build(int mid){19 int i,j;20 mem(f,0);21 n=K+C;22 st=0,en=n+1;23 for (i=1;i<=K;i++)24 f[0][i]=1;25 for (i=K+1;i<=K+C;i++)26 f[i][en]=M;27 for (i=1;i<=K;i++)28 for (j=K+1;j<=K+C;j++)29 if (a[i][j]<=mid)30 f[i][j]++;31 }32 bool bfs(){33 int i,j,k,u;34 mem(fa,-1);35 queue
q;36 q.push(st);37 fa[st]=0;38 while (!q.empty()){39 u=q.front();q.pop();40 for (i=0;i<=n+1;i++){41 if (fa[i]==-1 && f[u][i]!=0){42 fa[i]=fa[u]+1;43 q.push(i);44 }45 }46 }47 return fa[en]!=-1;48 }49 int dfs(int u,int curf){50 if (u==en) return curf;51 int dt=curf;52 for (int v=0;v<=n+1;v++){53 if (f[u][v]>0 && fa[v]==fa[u]+1){54 int flow=dfs(v,min(dt,f[u][v]));55 f[u][v]-=flow;56 f[v][u]+=flow;57 dt-=flow;58 }59 }60 return curf-dt;61 }62 int dinic(){63 int ans(0),curf;64 while (bfs())65 while (curf=dfs(st,oo))66 ans+=curf;67 return ans;68 }69 int main(){70 freopen ("optimal.in","r",stdin);71 freopen ("optimal.out","w",stdout);72 int i,j,k;73 while (~scanf("%d%d%d",&K,&C,&M)){74 for (i=1;i<=K+C;i++)75 for (j=1;j<=K+C;j++){76 a[i][j]=oo;77 int w;78 scanf("%d",&w);79 a[i][j]=min(a[i][j],w);80 }81 for (k=1;k<=K+C;k++)82 for (i=1;i<=K+C;i++)83 for (j=1;j<=K+C;j++)84 a[i][j]=min(a[i][j],a[i][k]+a[k][j]);85 int low,high,mid;86 low=1,high=oo;87 while (low<=high){88 mid=(low+high)>>1;89 build(mid);90 cout<
<<' '<
<

 

转载于:https://www.cnblogs.com/keximeiruguo/p/6127253.html

你可能感兴趣的文章
每日英语:Chinese Writer Wins Literature Nobel
查看>>
java中三种主流数据库数据库(sqlserver,db2,oracle)的jdbc连接总结
查看>>
Oracle Apps AutoConfig
查看>>
[leetcode]Flatten Binary Tree to Linked List
查看>>
css颜色代码大全:(网页设计师和平面设计师常用)
查看>>
boost 1.52在windows下的配置
查看>>
素材锦囊——50个高质量的 PSD 素材免费下载《上篇》
查看>>
【转】oc中消息传递机制-附:对performSelector方法的扩充
查看>>
oracle的nvl和sql server的isnull
查看>>
[转]虚拟机下Ubuntu共享主机文件(Ubuntu、VMware、共享)
查看>>
高血压 治疗 偏方
查看>>
HtmlAttribute HTML属性处理类
查看>>
[书目20130316]jQuery UI开发指南
查看>>
Sql Server系列:开发存储过程
查看>>
Find INTCOL#=1001 in col_usage$?
查看>>
AutoCAD 命令统计魔幻球的实现过程--(3)
查看>>
dp学习笔记1
查看>>
newlisp debugger
查看>>
Java进阶02 异常处理
查看>>
java 动态代理
查看>>