最大流最小割定理:移除最小边集使网络流中断的集值等于这个网络的最大流。
建图: 第一个cpu 流向第i的 模块的流量为ai , 第i个模块流向 第二个cpu的流量为 bi 。模块之间连边 a->b= w b->a=w。
#include #include #include #include #include #include #include
q; q.push(s); while(!q.empty()){ int cur=q.front(); q.pop(); for(int i=head[cur];i!=-1;i=e[i].next){ if(!e[i].val) continue; int cc=e[i].to; if(!level[cc]){ level[cc]=level[cur]+1; q.push(cc); } } } return level[en];}int dfs(int x,int val){ int tem=val; if(x==en) return val; for(int i=head[x];i!=-1&&tem;i=e[i].next){ if(!e[i].val) continue; int cc=e[i].to; // cout<
<<" "< <