bzoj1927最小费用最大流
其实本来打算做最小费用最大流的题目前先来点模板题的,,,结果看到这道题二话不说(之前打太多了)敲了一个dinic,快写完了发现不对
我当时就这表情→ =_=你TM逗我
刚要删突然感觉dinic的模板中的bfs就相当于找每天边的权都为1的图上的最短路,稍稍改一下就能变成spfa,于是重新写了一下,但是函数名还是bfs。。。
然后又发现不对,最后要返回路径的,dfs也要改= =结果变成了非递归,但是函数名还是dfs。。。
于是一个看似是dinic,实则垃圾得不行的最小费用最大流就敲完了
然后调了一小会儿,最后发现我把入点和入点连了起来。。。难怪每次算出来都是直接飞
1 #include <cstdio> 2 #include <iostream> 3 #define INF 2147483647 4 using namespace std; 5 int n,m,N=1,ans=0,x,y,z,h,t,i,minflow,now; 6 int fir[3000],nex[50000],to[50000],flo[50000],cost[50000],d[3000],l[30000],father[3000]; 7 bool que[3000]; 8 inline void add(int a,int b,int c,int d){ nex[++N]=fir[a];fir[a]=N;to[N]=b;flo[N]=c;cost[N]=d; 9 nex[++N]=fir[b];fir[b]=N;to[N]=a;flo[N]=0;cost[N]=-d;} 10 bool bfs()//其实是spfa 11 { 12 for(int i=1;i<=n*2+2;i++) d[i]=INF; 13 for(h=1,t=1,l[1]=n*2+1,d[n*2+1]=0;h<=t;h++) 14 for (que[l[h]]=0,i=fir[l[h]];i;i=nex[i]) 15 if(flo[i] && d[to[i]]>d[l[h]]+cost[i]) 16 { 17 father[to[i]]=i;//注意father存的是边 18 d[to[i]]=d[l[h]]+cost[i]; 19 if (!que[to[i]]) 20 l[++t]=to[i],que[to[i]]=1; 21 } 22 return d[n*2+2]!=INF; 23 } 24 25 void dfs()//其实写成了非递归 26 { 27 for(minflow=INF,now=n*2+2;now!=n*2+1;now=to[father[now]^1]) 28 minflow=min(minflow,flo[father[now]]); 29 for(now=n*2+2;now!=n*2+1;now=to[father[now]^1]) 30 ans+=cost[father[now]],flo[father[now]]-=minflow,flo[father[now]^1]+=minflow; 31 } 32 33 int main() 34 { 35 scanf("%d%d",&n,&m); 36 for (int i=1;i<=n;i++) 37 scanf("%d",&x),add(n*2+1,i+n,1,x); 38 for (int i=1;i<=n;i++) 39 add(n*2+1,i,1,0); 40 for (int i=1;i<=m;i++) 41 scanf("%d%d%d",&x,&y,&z),add(min(x,y),max(x,y)+n,1,z); 42 for (int i=1;i<=n;i++) 43 add(i+n,n*2+2,1,0); 44 while (bfs()) dfs(); 45 printf("%d\n",ans); 46 return 0; 47 }
转载于:https://www.cnblogs.com/wanglichao/p/5822160.html
bzoj1927最小费用最大流相关推荐
- 乌鲁木齐网络赛J题(最小费用最大流模板)
ACM ICPC 乌鲁木齐网络赛 J. Our Journey of Dalian Ends 2017-09-09 17:24 243人阅读 评论(0) 收藏 举报 分类: 网络流(33) 版权声 ...
- POJ - 2516 Minimum Cost 最小费用最大流
题目链接 题意:给n,m,k表示商店数,储存店数,种类数 然后给n*k表示每个水果店需求每种种类的数量: 表示成 need[i][j] 再给m*k表示每个储存店每种种类数量: 表示成store[i][ ...
- pku The Windy's KM最小权匹配 or 最小费用最大流
http://poj.org/problem?id=3686 题意: 给定n个玩具,有m个车间,给出每个玩具在每个车间的加工所需的时间mat[i][j]表示第i个玩具在第j个车间加工所需的时间,规顶只 ...
- c语言最小费用流_策略算法工程师之路-图优化算法(一)(二分图amp;最小费用最大流)...
目录 1.图的基本定义 2.双边匹配问题 2.1 二分图基本概念 2.2 二分图最大匹配求解 2.3 二分图最优匹配求解 2.4 二分图最优匹配建模实例 2.4.1 二分图最优匹配在师生匹配中的应用 ...
- 有源汇上下界最小费用可行流 ---- P4553 80人环游世界(拆点 + 有源汇上下界最小费用可行流)
题目链接 题目大意: 解题思路: 又是一道裸题 . 首先它要求第iii个点只经过ViViVi那么我们就拆点ai,ai+na_i,a_{i+n}ai,ai+n一个点为入点,一个为出点这条边的流量范围 ...
- 有源汇上下界最小费用可行流 ---- P4043 [AHOI2014/JSOI2014]支线剧情(模板)
题目链接 题目大意: 解题思路: 有源汇上下界最小费用可行流模板题目来着 先建出一个有源汇上下界可行流的图,然后注意建图的时候要把每条边的下界的费用提前加到ans里面 然后再对图跑费用流,就是补齐费用 ...
- Doctor NiGONiGO’s multi-core CPU(最小费用最大流模板)
题目链接:http://acm.nyist.net/JudgeOnline/problem.php?pid=693 题意:有一个 k 核的处理器和 n 个工作,全部的工作都须要在一个核上处理一个单位的 ...
- 【最小费用最大流】Going Home
概念: 在同一个网络中,可能存在多个总流量相同的最大流,我们可以在计算流量的基础之上,给网络中的弧增加一个单位流量的费用(简称费用),在确保流量最大的前提下总费用最小--最小费用最大流. C - Go ...
- 最大流最小费用java_最小费用最大流及算法
最大流的网络,可看作为辅送一般货物的运输网络,此时,最大流问题仅表明运输网络运输货物的能力,但没有考虑运送货物的费用.在实际问题中,运送同样数量货物的运输方案可能有多个,因此从中找一个输出费用最小的的 ...
- POJ-2195(最小费用最大流)
题意:二分图最小权匹配. 构图:S向左边的点连容量1,费用0的边,右边的点向T连容量1,费用0的边,点之间连容量1,费用为边权的边.最小费用最大流. 注意: 1.100*100的方格中有10000个点 ...
最新文章
- NVIDIA数据中心深度学习产品性能
- java之Thread.sleep(long)与object.wait()/object.wait(long)的区别及相关概念梳理(good)
- android动态视力测试,Chop It-看起来有点无聊却可训练动态视力的 3D 立体小游戏(iPhone, Android)...
- 每日一练:Python爬虫爬取全国新冠肺炎疫情数据实例详解,使用beautifulsoup4库实现
- MatConvnet工具箱文档翻译理解(2)
- RealFormer:把残差转移到Attention矩阵上面去
- gpu处理信号_GPU中的并行运算,加速你的Matlab程序
- 树莓派 Learning 002 装机后的必要操作 --- 03 替换软件源
- 《springcloud 二》微服务动态网关,网关集群
- [CareerCup] 3.5 Implement Queue using Two Stacks 使用两个栈来实现队列
- CentOS 7系统升级备份恢复实验记录
- 修改服务器的AJP监听地址,实习记录(五) - AJP协议文件读取漏洞
- Linux之LIBRARY_PATH与LD_LIBRARY_PATH配置多个目录用法
- 如何正确获取安卓内置SD卡的路径
- 福利工具,如何利用小程序免费下载积分文件呢?【第02期】
- gmoj 6841. 【2020.11.5提高组模拟】淘淘蓝蓝之树林
- mysql基础命令集合
- 【MATLAB】MATLAB 仿真 — 模拟调制系统 之 AM 调制过程
- 网络略谈(一).局域网游戏谈起红警尤里的复仇
- 用antd实现番茄钟
热门文章
- 让AI捕捉“七情”,多模态情感分析的应用和挑战
- 分类问题的评估指标一览
- “不可不学是编程,不可不用是git” | github篇
- 191106_爬数据绘图
- 搞懂Vision Transformer 原理和代码,看这篇技术综述就够了(三)
- 【每日算法Day 66】经典面试题:不用四则运算如何做加法?
- pycharm中的常用快捷键与常用设置
- iphone软件创富密码之 启动Xcode创建工程
- 亚嵌协办 博文视点Open Party第5期 参会感言
- 数据结构与算法(二):线性表、栈、树(二叉树,AVL树)、图