const int INF=;
const int maxn=,maxm=;
int cnt=,fir[maxn],nxt[maxm],to[maxm];
int cap[maxm],val[maxm],dis[maxn],path[maxn]; void add(int a,int b,int c,int v){
nxt[++cnt]=fir[a];to[cnt]=b;
cap[cnt]=c;val[cnt]=v;fir[a]=cnt;
}
void addedge(int a,int b,int c,int v){
add(a,b,c,v);
add(b,a,,-v);
} int S,T;
int vis[maxn];
int Spfa(){
deque<int>q;
memset(dis,,sizeof(dis));
memset(vis,,sizeof(vis));
q.push_front(S);
dis[S]=;vis[S]=;
while(!q.empty()){
int x=q.front();q.pop_front();vis[x]=;
for(int i=fir[x];i;i=nxt[i])
if(cap[i]&&dis[x]+val[i]<dis[to[i]]){
dis[to[i]]=val[i]+dis[x];
path[to[i]]=i;
if(vis[to[i]])continue;
if(dis[to[i]]<dis[x])
q.push_front(to[i]);
else
q.push_back(to[i]);
vis[to[i]]=;
}
}
return dis[T]==dis[T+]?:dis[T];
} int Aug(){
int p=T,f=INF;
while(p!=S){
f=min(f,cap[path[p]]);
p=to[path[p]^];
}
p=T;
while(p!=S){
cap[path[p]]-=f;
cap[path[p]^]+=f;
p=to[path[p]^];
}
return f;
} int MCMF(){
int ret=,d;
while(d=Spfa())
ret+=Aug()*d;
return ret;
}
 #include <queue>
using namespace std;
const int maxn=;
const int maxm=;
const int INF=;
int n,m,w[maxn],cnt,fir[maxn],to[maxm],nxt[maxm];
int cap[maxm],val[maxm],path[maxn],vis[maxn],dis[maxn];
queue<int>q;
struct Net_Flow{
Net_Flow(){cnt=;} void add(int a,int b,int c,int v){
nxt[++cnt]=fir[a];cap[cnt]=c;
to[cnt]=b;val[cnt]=v;fir[a]=cnt;
} void addedge(int a,int b,int c,int v){
add(a,b,c,v);add(b,a,,-v);
} int Spfa(int S,int T){
memset(dis,,sizeof(dis));
q.push(S);vis[S]=;dis[S]=;
while(!q.empty()){
int x=q.front();q.pop();vis[x]=;
for(int i=fir[x];i;i=nxt[i])
if(cap[i]&&dis[to[i]]>dis[x]+val[i]){
dis[to[i]]=dis[x]+val[i];
if(!vis[to[i]])q.push(to[i]);
vis[to[i]]=;path[to[i]]=i;
}
}
return dis[T];
} int Aug(int S,int T){
int p=T,f=INF;
while(p!=S){
f=min(f,cap[path[p]]);
p=to[path[p]^];
}p=T;
while(p!=S){
cap[path[p]]-=f;
cap[path[p]^]+=f;
p=to[path[p]^];
}
return f;
} int MCMF(int S,int T){
int v=,d;
while((d=Spfa(S,T))!=INF)
v+=d*Aug(S,T);
return v;
}
}mcmf;

最新文章

  1. H5+CSS3知识点
  2. 2016ACM/ICPC亚洲区沈阳站-重现赛赛题
  3. CC2540中的电压检测
  4. gdb 调试程序
  5. JSON解析实例——使用Json-lib
  6. Array数组
  7. 6.6 Android 编译机制的变迁
  8. cmdCreateViewTag
  9. 非对称SVD电影推荐系统
  10. iOS 安全:UIWebView访问Https站点防止中间人攻击
  11. 单片机 C 语言模块化编程
  12. 设计模式(六):Singleton 单件模式 -- 创建型模式
  13. TestNG使用Eclipse建立Test Case - 就是爱Java
  14. TLSAlloc()
  15. uva 12171 hdu 1771 Sculpture
  16. pwnable.tw applestore 分析
  17. 【转】XML 特殊字符处理
  18. java路径
  19. 论坛:获取当前原始请求中的远程IP地址
  20. BeautifulSoup基本步骤

热门文章

  1. 第二篇:python基础之文件读写
  2. ASP.NET Boilerplate 工作单元
  3. $HTTP_RAW_POST_DATA
  4. CSS3新增Hsl、Hsla、Rgba色彩模式以及透明属性(转)
  5. HTML5 History对象,Javascript修改地址栏而不刷新页面(二)
  6. android 蓝牙4.0 开发介绍
  7. How to Make LastPass Even More Secure with Google Authenticator
  8. dnsever 邮件记录
  9. index ffs、index fs原理考究-1109
  10. java 从jar包中读取资源文件