这是我纯自己打的,洛谷上竟然A了

不敢相信、

丑陋的代码:

#include<iostream>
#include<cstdio>
using namespace std;
#include<cstring>
bool you[5001];
int dui[500000];
int pre[5001],xia[5001],hou[50001<<1],x,y,z,hehe,dis[5001],zhen1,zhen2,cost,sum,n,m,s,t,i;
struct lal
{
int zhi,fei,zhong;
}bian[50001<<1];
int tot=-1;
void jia(int x,int y,int z,int hehe)
{
     hou[++tot]=xia[x];xia[x]=tot;bian[tot].zhi=z;bian[tot].fei=hehe;bian[tot].zhong=y;
}
void jian(int x,int y,int z,int hehe)
{
jia(x,y,z,hehe);
jia(y,x,0,-hehe);
}
bool spfa()
{
memset(you,0,sizeof(you));
memset(dis,0x7f,sizeof(dis));
memset(pre,0,sizeof(pre));
zhen1=0;zhen2=1;
dui[1]=s;
you[s]=1;
dis[s]=0;
while(zhen1!=zhen2)
{      
int st=dui[++zhen1];
you[st]=0;

for(int i=xia[st];i!=-1;i=hou[i])
        {
        if(!bian[i].zhi)continue;
        int nd=bian[i].zhong;
        if(dis[st]+bian[i].fei<dis[nd])
        {
          dis[nd]=dis[st]+bian[i].fei;
          pre[nd]=i^1;
          if(!you[nd])
          {
          dui[++zhen2]=nd;
          you[nd]=1;
  }
          
}
}
}
if(!pre[t])return 0;
int min1=99999999;
for(int i=pre[t];i!=0;i=pre[bian[i].zhong])
{
min1=min(min1,bian[i^1].zhi);

}
for(int i=pre[t];i!=0;i=pre[bian[i].zhong])
{
bian[i].zhi+=min1;
bian[i^1].zhi-=min1;
cost+=bian[i^1].fei*min1;
}
     sum+=min1;
     
     return 1;
}
void mcmf(int s,int t)
{  
while(spfa() ) ;
}
int main()
{
memset(xia,-1,sizeof(xia));
scanf("%d%d%d%d",&n,&m,&s,&t);
for(i=1;i<=m;i++)
{
scanf("%d%d%d%d",&x,&y,&z,&hehe);
jian(x,y,z,hehe);
}
mcmf(s,t);
printf("%d %d",sum,cost);
 }

最小费用最大流背诵用模板相关推荐

  1. 最小费用最大流(详解+模板)

    费用流 做法 在残余网络上寻找最短路 对该路径进行增广, 对答案产生贡献 不断重复opt.1操作, 直至 s → t s\to t s→t不存在路径 证明 定义 定义 f f f作为图中的流 f - ...

  2. 有源汇上下界最小费用可行流 ---- P4043 [AHOI2014/JSOI2014]支线剧情(模板)

    题目链接 题目大意: 解题思路: 有源汇上下界最小费用可行流模板题目来着 先建出一个有源汇上下界可行流的图,然后注意建图的时候要把每条边的下界的费用提前加到ans里面 然后再对图跑费用流,就是补齐费用 ...

  3. Doctor NiGONiGO’s multi-core CPU(最小费用最大流模板)

    题目链接:http://acm.nyist.net/JudgeOnline/problem.php?pid=693 题意:有一个 k 核的处理器和 n 个工作,全部的工作都须要在一个核上处理一个单位的 ...

  4. 费用流:最大费用最大流和最小费用最大流(模板)

    主要是思维建边,建有向边,然后跑模板就行了 可以解决KM算法所能解决的问题(完全取代) 可以解决非完备匹配问题中的最大权匹配和最小权匹配,分别对应着最大费用最大流和最小费用最大流 模板: 最大费用最大 ...

  5. 经典网络流题目模板(P3376 + P2756 + P3381 : 最大流 + 二分图匹配 + 最小费用最大流)...

    题目来源 P3376 [模板]网络最大流 P2756 飞行员配对方案问题 P3381 [模板]最小费用最大流 最大流 最大流问题是网络流的经典类型之一,用处广泛,个人认为网络流问题最具特点的操作就是建 ...

  6. 最大流、最小费用最大流【模板】

    一下代码版权归:HIT    xiaodai 最大流模板:(题目链接) #include <cstring> #include <algorithm> #include < ...

  7. 最小费用最大流 【模板】

    如果理解了最大流连续增广路算法的思维, 理解这个算法还是很简单的. 结构体存储信息: 分别为边的起点.终点.容量.当前流量.费用.下一条边的编号. struct Edge {int from, to, ...

  8. 最大流 最小费用最大流模板

    模板从  这里   搬运,链接博客还有很多网络流题集题解参考. 最大流模板 ( 可处理重边 ) const int maxn = 1e6 + 10; const int INF = 0x3f3f3f3 ...

  9. 乌鲁木齐网络赛J题(最小费用最大流模板)

    ACM ICPC 乌鲁木齐网络赛 J. Our Journey of Dalian Ends 2017-09-09 17:24 243人阅读 评论(0) 收藏 举报  分类: 网络流(33)  版权声 ...

最新文章

  1. Linux动态加载共享库,Linux共享库的动态加载(附测试案例)
  2. PHP isset()与empty()的使用区别详解
  3. JavaScript 判断 DOM 何时加载完毕
  4. 中国人工智能学会通讯——KS-Studio:一个知识计算引擎 1.2 知识图谱构建
  5. [投稿]Speex回声消除代码分析
  6. [跪了]Servlet 工作原理解析
  7. 十年风雨!看蚂蚁金服SOFA 分布式架构演进
  8. Codeforces123E. Maze【树形dp】【概率dp】【证明题】
  9. ocr带单字坐标离线识别
  10. Facebook高管:文字分享将枯竭 5年后或许全是视频
  11. 美团外卖前端可视化界面组装平台 —— 乐高
  12. STM32H7的终极调试组件Event Recorder
  13. 迅捷网络路由器服务器无响应怎么办,迅捷(FAST)300M无线路由器设置后不能上网怎么办?...
  14. 艺点动画-跟随原理讲解
  15. 梯度下降算法_梯度下降算法的工作原理
  16. 入职 3 天“窃取”上万个代码文件,特斯拉起诉前软件工程师!
  17. Ventoy主题美化,以及自行制作方法
  18. Webix JavaScript UI 9.1.6
  19. 西门子300PLC的定时器用法
  20. 通达信扣底计算公式,提前一天知道明天的均线价

热门文章

  1. 红橙Darren视频笔记 点赞效果 动画练习
  2. 设置Markdown中展示Liquid(Jekyll)但不解析的方式
  3. poj 1679 TheUniqueMST 最小生成树Kruskal(、Prim待做
  4. 怎样对流媒体进行压力测试_对node工程进行压力测试与性能分析「干货」
  5. python分解word文档为多个_用python批量处理word文档
  6. 【python基础知识】error: Unable to find vcvarsall.bat--python3.5+windows7
  7. 给定一个整数数组,判断是否存在重复元素。
  8. springsecurity 不允许session并行登录_Spring Security 实战干货:实现自定义退出登录...
  9. java 获取oracle表结构_Java导出oracle表结构实例详解
  10. Python MetaClass深入分析