poj 3469 Dual Core CPU——最小割
2024-08-29 18:46:23
题目:http://poj.org/problem?id=3469
最小割裸题。
那个限制就是在 i、j 之间连双向边。
根据本题能引出网络流中二元关系的种种。
别忘了写 if ( x==n+1 ) return flow ; !
#include<iostream>
#include<cstdio>
#include<cstring>
#include<queue>
using namespace std;
const int N=2e4+,M=2e5+,INF=0x3f3f3f3f;
int n,m,hd[N],cr[N],xnt=,mxflow,dfn[N];
int num;
struct Ed{
int nxt,to,cap;
Ed(int n=,int t=,int c=):nxt(n),to(t),cap(c) {}
}ed[(N+M)<<];
void add(int x,int y,int z)
{
ed[++xnt]=Ed(hd[x],y,z);hd[x]=xnt;
ed[++xnt]=Ed(hd[y],x,);hd[y]=xnt;
}
bool bfs()
{
memset(dfn,,sizeof dfn);
dfn[]=;queue<int> q;q.push();
while(q.size())
{
int k=q.front();q.pop();
for(int i=hd[k],v;i;i=ed[i].nxt)
if(!dfn[v=ed[i].to]&&ed[i].cap)
{
dfn[v]=dfn[k]+;q.push(v);
if(v==n+)return true;
}
}
return false;
}
int dinic(int x,int flow)
{
if(x==n+)return flow;//!!!
int use=;
for(int &i=cr[x],v;i;i=ed[i].nxt)
if(dfn[v=ed[i].to]==dfn[x]+&&ed[i].cap)
{
int tmp=dinic(v,min(ed[i].cap,flow-use));
if(!tmp)dfn[v]=;
ed[i].cap-=tmp;ed[i^].cap+=tmp;use+=tmp;
if(use==flow)return flow;
}
return use;
}
int main()
{
scanf("%d%d",&n,&m);int x,y,z;
for(int i=;i<=n;i++)
{
scanf("%d%d",&x,&y);
add(,i,x);add(i,n+,y);
}
for(int i=;i<=m;i++)
{
scanf("%d%d%d",&x,&y,&z);
add(x,y,z);add(y,x,z);
}
while(bfs())
{
memcpy(cr,hd,sizeof hd);
int k=dinic(,INF);
mxflow+=k;
}
printf("%d",mxflow);
return ;
}
最新文章
- Xamarin.Android之Fragment Walkthrough
- 关于年终奖励的扣税算法BUG
- Copy15G的初始容量,注册就再送5G,邀请注册的人也送5G
- dom4j 使用总结
- 服务器发布WebService返回DataTable
- 在windows服务器中,将MongoDB服务化。
- 最清晰的ios消息推送机制教程
- 系统调用和中断处理的异同(以Linux MIPS为例)
- 读jquery.cookie.js源码学到的几个技巧
- Android开源资料大集合_架构&;UI
- 浅谈Spring(一)
- xquery
- JavaScript之通用addLoadEvent代码源码
- mysql 服务启动失败
- MongoDB学习笔记(二)
- Re.常系数齐次递推
- Maven的日常
- Mybatis之占位符与拼接符
- 网卡最大传输单位MTU和巨型帧(Jumbo frame)设置
- (Alpha)Let&#39;s-版本测试报告
热门文章
- android菜鸟学习笔记19----Android数据存储(三)XML文件的解析及序列化
- 我的Android进阶之旅------>解决 Error: ShouldNotReachHere() 问题
- eclipse 安装 json Editor Plugin的方法
- node-sass 安装失败的解决措施[转]
- 使用基本 SQL 命令
- sublime 添加 颜色插件 colorcoder
- Qt Creator 调试器 在 Ubuntu 13.10下 局部变量和表达式(Locals) 无内容
- Yii2学习笔记---内附GridView配置总结
- Python 3 socket 编程
- inline 元素的特性