题目: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 ;
}

poj 3469 Dual Core CPU——最小割的更多相关文章

  1. POJ 3469 Dual Core CPU (最小割建模)

    题意 现在有n个任务,两个机器A和B,每个任务要么在A上完成,要么在B上完成,而且知道每个任务在A和B机器上完成所需要的费用.然后再给m行,每行 a,b,w三个数字.表示如果a任务和b任务不在同一个机 ...

  2. 【网络流#8】POJ 3469 Dual Core CPU 最小割【ISAP模板】 - 《挑战程序设计竞赛》例题

    [题意]有n个程序,分别在两个内核中运行,程序i在内核A上运行代价为ai,在内核B上运行的代价为bi,现在有程序间数据交换,如果两个程序在同一核上运行,则不产生额外代价,在不同核上运行则产生Cij的额 ...

  3. poj 3469 Dual Core CPU 最小割

    题目链接 好裸的题....... 两个cpu分别作为源点和汇点, 每个cpu向元件连边, 权值为题目所给的两个值, 如果两个元件之间有关系, 就在这两个元件之间连边, 权值为消耗,这里的边应该是双向边 ...

  4. poj 3469 Dual Core CPU【求最小割容量】

    Dual Core CPU Time Limit: 15000MS   Memory Limit: 131072K Total Submissions: 21453   Accepted: 9297 ...

  5. POJ 3469.Dual Core CPU 最大流dinic算法模板

    Dual Core CPU Time Limit: 15000MS   Memory Limit: 131072K Total Submissions: 24830   Accepted: 10756 ...

  6. POJ 3469 Dual Core CPU Dual Core CPU

    Time Limit: 15000MS   Memory Limit: 131072K Total Submissions: 23780   Accepted: 10338 Case Time Lim ...

  7. POJ 3469(Dual Core CPU-最小割)[Template:网络流dinic V2]

    Language: Default Dual Core CPU Time Limit: 15000MS   Memory Limit: 131072K Total Submissions: 19321 ...

  8. POJ 3469 Dual Core CPU(最小割)

    [题目链接] http://poj.org/problem?id=3469 [题目大意] 有N个模块要在A,B两台机器上执行,在不同机器上有不同的花费 另有M个模块组(a,b),如果a和b在同一台机子 ...

  9. POJ - 3469 Dual Core CPU (最小割)

    (点击此处查看原题) 题意介绍 在一个由核A和核B组成的双核CPU上执行N个任务,任务i在核A上执行,花费Ai,在核B上执行,花费为Bi,而某两个任务之间可能需要进数据交互,如果两个任务在同一个核上执 ...

随机推荐

  1. ArcGIS API for JavaScript Bookmarks(书签)

    说明:本篇博文介绍的是ArcGIS API for JavaScript中的 Bookmarks(书签) ,书签的作用是,把地图放大到一个地方 添加书签,书签名称可以和地图名称一直,单击标签 地图会定 ...

  2. 九度OJ 1201:二叉排序树 (二叉树)

    时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:4894 解决:2062 题目描述: 输入一系列整数,建立二叉排序数,并进行前序,中序,后序遍历. 输入: 输入第一行包括一个整数n(1< ...

  3. Apache转发规则的一点注意

    RewriteRule ^studio/$ book.php?mod=studio 这种目录转发, 正常情况下是没问题的. 但是当根目录下存在一个 studio 目录时, apache就不会转发URL ...

  4. 2.5链表 链式A+B

    aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAowAAAGpCAIAAACI2PCZAAAgAElEQVR4nO2d3YsdSX6m++/wXf8Fxu ...

  5. LeetCode:移除K位数字【402】

    LeetCode:移除K位数字[402] 题目描述 给定一个以字符串表示的非负整数 num,移除这个数中的 k 位数字,使得剩下的数字最小. 注意: num 的长度小于 10002 且 ≥ k. nu ...

  6. mathjax

    MathJax.Hub.Typeset() method. This will cause the preprocessors (if any were loaded) to run over the ...

  7. 路由helper

    root_url http://192.168.1.110:3000/users/sign_up?inviter=14658733081530 root_path /users/sign_up?inv ...

  8. UVALive - 6257 K - Chemist's vows 【DFS】【BFS】【DP】

    题目链接 https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&page=show_ ...

  9. 每天一个Linux命令(3)mkdir命令

        mkdir命令用来创建目录.    (1)用法:  用法: mkdir [选项]... 目录... (2)功能: 功能: 若指定目录不存在则创建目录 该命令创建由dirname命名的目录.如果 ...

  10. 【leetcode刷题笔记】Linked List Cycle II

    Given a linked list, return the node where the cycle begins. If there is no cycle, return null. Foll ...