标准大白书式模板

 #include<stdio.h>        //大概这么多头文件昂
#include<string.h>
#include<vector>
#include<queue>
#include<algorithm>
using namespace std;
const int maxm=+; //最大点数
const int INF=0x3f3f3f3f; struct edge{ //边:起点、终点、容量、流量、单位费用
int from,to,c,f,cost;
edge(int a,int b,int m,int n,int p):from(a),to(b),c(m),f(n),cost(p){}
}; int aabs(int a){
return a>=?a:-a;
} struct MCMF{
int m,s,t;
vector<edge>e;
vector<int>g[maxm];
int dis[maxm],a[maxm],p[maxm];
bool vis[maxm]; void init(int n){ //初始化函数
for(int i=;i<=n;i++)g[i].clear();
e.clear();
} void add(int a,int b,int c,int v){ //加边函数
e.push_back(edge(a,b,c,,v));
e.push_back(edge(b,a,,,-v));
m=e.size();
g[a].push_back(m-);
g[b].push_back(m-);
} bool spfa(int& flow,int& cost){
memset(dis,0x3f,sizeof(dis));
memset(vis,,sizeof(vis));
queue<int>q;
q.push(s);
vis[s]=;
dis[s]=;
p[s]=;
a[s]=INF;
while(!q.empty()){
int u=q.front();q.pop();
vis[u]=;
for(int i=;i<g[u].size();i++){
edge tmp=e[g[u][i]];
if(dis[tmp.to]>dis[u]+tmp.cost&&tmp.c>tmp.f){
dis[tmp.to]=dis[u]+tmp.cost;
p[tmp.to]=g[u][i];
a[tmp.to]=min(a[u],tmp.c-tmp.f);
if(!vis[tmp.to]){
q.push(tmp.to);
vis[tmp.to]=;
}
}
}
}
if(dis[t]==INF)return ;
flow+=a[t];
cost+=dis[t]*a[t];
int u=t;
while(u!=s){
e[p[u]].f+=a[t];
e[p[u]^].f-=a[t];
u=e[p[u]].from;
}
return ;
} int MF(int s,int t){ 调用的计算最小费用函数
this->s=s;this->t=t;
int flow=,cost=;
while(spfa(flow,cost));
return cost;
} };

网络流--最小费用最大流MCMF模板的更多相关文章

  1. POJ 2195 - Going Home - [最小费用最大流][MCMF模板]

    题目链接:http://poj.org/problem?id=2195 Time Limit: 1000MS Memory Limit: 65536K Description On a grid ma ...

  2. 网络流(最小费用最大流):POJ 2135 Farm Tour

    Farm Tour Time Limit: 1000ms Memory Limit: 65536KB This problem will be judged on PKU. Original ID: ...

  3. poj2135最小费用最大流经典模板题

    Farm Tour Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 13509   Accepted: 5125 Descri ...

  4. HDU 6118 度度熊的交易计划(网络流-最小费用最大流)

    度度熊参与了喵哈哈村的商业大会,但是这次商业大会遇到了一个难题: 喵哈哈村以及周围的村庄可以看做是一共由n个片区,m条公路组成的地区. 由于生产能力的区别,第i个片区能够花费a[i]元生产1个商品,但 ...

  5. 把人都送到房子里的最小花费--最小费用最大流MCMF

    题意:http://acm.hdu.edu.cn/showproblem.php?pid=1533 相邻的容量为inf,费用为1,S到m容量为1,费用为0 ,H到T容量为1,费用为0. 建图跑-最小费 ...

  6. HDU 1533 最小费用最大流(模板)

    http://acm.hdu.edu.cn/showproblem.php?pid=1533 这道题直接用了模板 题意:要构建一个二分图,家对应人,连线的权值就是最短距离,求最小费用 要注意void ...

  7. 洛谷P4003 [国家集训队2017]无限之环 网络流 最小费用最大流

    题意简述 有一个\(n\times m\)棋盘,棋盘上每个格子上有一个水管.水管共有\(16\)种,用一个\(4\)位二进制数来表示当前水管向上.右.下.左有个接口.你可以旋转除了\((0101)_2 ...

  8. POJ-2516(最小费用最大流+MCMF算法)

    Minimum Cost POJ-2516 题意就是有n个商家,有m个供货商,然后有k种商品,题目求的是满足商家的最小花费供货方式. 对于每个种类的商品k,建立一个超级源点和一个超级汇点.每个商家和源 ...

  9. POJ-2195(最小费用最大流+MCMF算法)

    Going Home POJ-2195 这题使用的是最小费用流的模板. 建模的时候我的方法出现错误,导致出现WA,根据网上的建图方法没错. 这里的建图方法是每次到相邻点的最大容量为INF,而花费为1, ...

随机推荐

  1. C# 通过Newtonsoft.Json.dll序列化日期的处理

    Newtonsoft.Json.dll提供了非常好的Json序列化和反序列化方式,但是对日期的处理却让我纠结了很久.首先定义类如下: public class Student{ public int ...

  2. 20170528xlVBA凑数一例

    Public Sub MakeUp() Dim Sht As Worksheet Set Sht = ThisWorkbook.Worksheets("设置") Dim Total ...

  3. JQuery.Ajax()的data参数传递方式

    最近,新学c# mvc,通过ajax post方式传递数据到controller.刚开始传递参数,controller中总是为null.现记录一下,可能不全,纯粹记个学习日记. 重点在于参数的方式,代 ...

  4. codeforces 1042d//Petya and Array// Codeforces Round #510 (Div. 2)

    题意:给出一个数组,求其中和小于t的区间数. 先计算前缀和数组sum[i].对当前的sum[i],查询树状数组中有几个比(sum[i]-t)大的数,那么用sum[i]减它就是一个合法区间.再将当前的s ...

  5. 安全模式下卸载windows installer打包的软件(转)

    安全模式下卸载windows installer打包的软件 起因: 主机系统MAC,虚拟软件Parallels Desktop, 虚拟系统 Win 7. 今天在虚拟机WIN7里面安装了某个软件导致重启 ...

  6. OAF中为MessageTextInput添加加事件处理

    需求:现在OAF页面上有俩输入框,单价,数量,根据单价数量,自动计算MessageStyledText金额中的值,对应的基于EO的VO的字段为UnitPrice,Quantity,Total. 实现方 ...

  7. Shell脚本的学习(二)

    Shell脚本的学习(二) 方法: 1) 一个计算器: 2)递归实现打印目录    3)方法调用

  8. Ybquery项目部署idea

    家庭公计网的引用  

  9. cas 认证管理器

    CAS-默认的认证管理器:AuthenticationManagerImpl <bean id="authenticationManager" class="org ...

  10. [转载]python的常用代码模板

    URL:http://blog.csdn.net/xingjiarong/article/details/50651235