题目链接

嗯。。水题

洛谷这网络流二十四题的难度评价真神奇。。

#include <queue>
#include <cstdio>
#include <cctype>
#include <cstring>
#include <algorithm>
#define gc() getchar()
const int N=206,M=15000,INF=0x3f3f3f3f; int n,m,src,des,A[N],B[N],C[N][N],dis[N],pre[N];
int Enum,H[N],nxt[M<<1],fr[M<<1],to[M<<1],cost[M<<1],cap[M<<1];
bool inq[N];
std::queue<int> q; inline int read()
{
int now=0,f=1;register char c=gc();
for(;!isdigit(c);c=gc()) if(c=='-') f=-1;
for(;isdigit(c);now=now*10+c-'0',c=gc());
return now*f;
}
inline void AddEdge(int u,int v,int w,int c)
{
to[++Enum]=v, fr[Enum]=u, nxt[Enum]=H[u], H[u]=Enum, cap[Enum]=w, cost[Enum]=c;
to[++Enum]=u, fr[Enum]=v, nxt[Enum]=H[v], H[v]=Enum, cap[Enum]=0, cost[Enum]=-c;
}
bool SPFA()
{
memset(dis,0x3f,sizeof dis);
dis[src]=0, q.push(src);
while(!q.empty())
{
int x=q.front();q.pop();
inq[x]=0;
for(int i=H[x]; i; i=nxt[i])
if(cap[i] && dis[to[i]]>dis[x]+cost[i])
{
dis[to[i]]=dis[x]+cost[i], pre[to[i]]=i;
if(!inq[to[i]]) q.push(to[i]),inq[to[i]]=1;
}
}
return dis[des]<INF;
}
int MCMF()
{
int res=0,mn=INF;
for(int i=des; i!=src; i=fr[pre[i]])
mn=std::min(cap[pre[i]],mn);
for(int i=des; i!=src; i=fr[pre[i]])
cap[pre[i]]-=mn,cap[pre[i]^1]+=mn,res+=cost[pre[i]]*mn;
return res;
} int main()
{
n=read(),m=read();
Enum=1, src=0, des=n+m+1;
for(int i=1; i<=n; ++i) AddEdge(src,i,A[i]=read(),0);
for(int i=1; i<=m; ++i) AddEdge(i+n,des,B[i]=read(),0);
for(int i=1; i<=n; ++i)
for(int j=1; j<=m; ++j)
AddEdge(i,j+n,INF,C[i][j]=read());
int rmin=0,rmax=0;
while(SPFA()) rmin+=MCMF();
memset(H,0,sizeof H);
Enum=1;
for(int i=1; i<=n; ++i) AddEdge(src,i,A[i],0);
for(int i=1; i<=m; ++i) AddEdge(i+n,des,B[i],0);
for(int i=1; i<=n; ++i)
for(int j=1; j<=m; ++j)
AddEdge(i,j+n,INF,-C[i][j]);
while(SPFA()) rmax+=MCMF();
printf("%d\n%d",rmin,-rmax); return 0;
}

洛谷.4015.运输问题(SPFA费用流)的更多相关文章

  1. 洛谷P4015 运输问题(费用流)

    传送门 源点向仓库连费用$0$,流量为储量的边,商店向汇点连费用$0$,流量为需求的边,然后仓库向商店连流量$inf$,费用对应的边,跑个费用流即可 //minamoto #include<io ...

  2. 洛谷 - P4452 - 航班安排 - 费用流

    https://www.luogu.org/problemnew/show/P4452 又一道看题解的费用流. 注意时间也影响节点,像题解那样建边就少很多了. #include<bits/std ...

  3. 洛谷P4014 分配问题(费用流)

    传送门 可以把原图看做一个二分图,人在左边,任务在右边,求一个带权的最大和最小完美匹配 然而我并不会二分图做法,所以只好直接用费用流套进去,求一个最小费用最大流和最大费用最大流即可 //minamot ...

  4. 洛谷P4015 运输问题(费用流)

    题目描述 WW 公司有 mm 个仓库和 nn 个零售商店.第 ii 个仓库有 a_iai​ 个单位的货物:第 jj 个零售商店需要 b_jbj​ 个单位的货物. 货物供需平衡,即\sum\limits ...

  5. 洛谷.3381.[模板]最小费用最大流(zkw)

    题目链接 Update:我好像刚知道多路增广就是zkw费用流.. //1314ms 2.66MB 本题优化明显 #include <queue> #include <cstdio&g ...

  6. [洛谷P4015]运输问题

    题目大意:有m个仓库和n个商店.第i个仓库有 $a_{i}$ 货物,第j个商店需要$b_{j}$个货物.从第i个仓库运送每单位货物到第j个商店的费用为$c_{i,j}$​​.求出最小费用和最大费用 题 ...

  7. 【网络流24题】No. 17 运输问题 (费用流)

    [题意] W 公司有 m 个仓库和 n 个零售商店.第 i 个仓库有ai 个单位的货物:第 j 个零售商店需要b j 个单位的货物. 货物供需平衡,即SIGMA(A)=SIGMA(B). 从第 i 个 ...

  8. 2018.10.14 loj#6011. 「网络流 24 题」运输问题(费用流)

    传送门 费用流入门题. 直接按照题意模拟. 把货物的数量当做容量建边. 然后跑一次最小费用流和最大费用流就行了. 代码: #include<bits/stdc++.h> #define N ...

  9. 【PowerOJ1752&网络流24题】运输问题(费用流)

    题意: 思路: [问题分析] 费用流问题. [建模方法] 把所有仓库看做二分图中顶点Xi,所有零售商店看做二分图中顶点Yi,建立附加源S汇T. 1.从S向每个Xi连一条容量为仓库中货物数量ai,费用为 ...

随机推荐

  1. 转载-通俗理解BN(Batch Normalization)

    转自:参数优化方法 1. 深度学习流程简介 1)一次性设置(One time setup)          -激活函数(Activation functions) - 数据预处理(Data Prep ...

  2. Python爬虫-爬取百度贴吧帖子

    这次主要学习了替换各种标签,规范格式的方法.依然参考博主崔庆才的博客. 1.获取url 某一帖子:https://tieba.baidu.com/p/3138733512?see_lz=1&p ...

  3. py-faster-rcnn + opencv3.0.0 + ubuntu16.04配置(CPU模式)

    最近开始做行人检测,因此开始接触faster-rcnn,这里贴上配置教程(亲测可行),不过是基于cpu的,蓝瘦... 参考博客:http://www.tuicool.com/articles/nYJr ...

  4. 一篇不错的CUDA入门

    鉴于自己的毕设需要使用GPU CUDA这项技术,想找一本入门的教材,选择了Jason Sanders等所著的书<CUDA By Example an Introduction to Genera ...

  5. php学习之mysqli的面向对象

    // mySqlTool.php  封装好的工具类 <?php class SqlTool{ private $conn; private $host="localhost" ...

  6. 利用mysqltuner工具对mysql数据库进行优化

    mysqltuner工具使用,本工具建议定期运行,发现目前MYSQL数据库存在的问题及修改相关的参数 工具的下载及部署 解决环境依赖,因为工具是perl脚本开发的,需要perl脚本环境 # yun i ...

  7. GBDT学习

    白话GBDT: https://blog.csdn.net/qq_26598445/article/details/80853873 优点: 预测精度高 适合低维数据 能处理非线性数据,该版本GBDT ...

  8. better-scroll插件

    参考网址:慕课网  http://coding.imooc.com/lesson/74.html#mid=1640 这个详细:https://zhuanlan.zhihu.com/p/25369923 ...

  9. jsonp原理和实例详解

    1.一个众所周知的问题,Ajax直接请求普通文件存在跨域无权限访问的问题,甭管你是静态页面.动态网页.web服务.WCF,只要是跨域请求,一律不准:2.不过我们又发现,Web页面上调用js文件时则不受 ...

  10. js数组合并为一个字符串

    var arr=new Array("hello","word","java","eclipse","jsp& ...