博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
洛谷4014最大/小费用最大流
阅读量:7098 次
发布时间:2019-06-28

本文共 1296 字,大约阅读时间需要 4 分钟。

题目:

#include
#include
#include
#include
using namespace std;typedef long long ll;const int N=205,cN=20405;const ll INF=0x7fffffff;int n,head[N],incf[N],pre[N],xnt=1,t;ll dis[N],ans;bool in[N];struct Edge{ int next,from,to,cap; ll w; Edge(int n=0,int f=0,int t=0,int c=0,ll w=0):next(n),from(f),to(t),cap(c),w(w) {}}edge[cN],tmp[cN];bool spfa(){ queue
q; memset(dis,-2,sizeof dis); q.push(0);in[0]=1; dis[0]=0;incf[0]=INF;pre[t]=0; while(q.size()) { int k=q.front();q.pop();in[k]=0; for(int i=head[k],v;i;i=edge[i].next) if(edge[i].cap&&dis[k]+edge[i].w>dis[v=edge[i].to]) { dis[v]=dis[k]+edge[i].w; incf[v]=min(edge[i].cap,incf[k]); pre[v]=i;// printf("v=%d pre[v]=%d\n",v,pre[v]); if(!in[v])q.push(v),in[v]=1; } } return pre[t];}bool spfa1(){ queue
q; memset(dis,1,sizeof dis); q.push(0);in[0]=1; dis[0]=0;incf[0]=INF;pre[t]=0; while(q.size()) { int k=q.front();q.pop();in[k]=0; for(int i=head[k],v;i;i=tmp[i].next) if(tmp[i].cap&&dis[k]+tmp[i].w

 

转载于:https://www.cnblogs.com/Narh/p/8785973.html

你可能感兴趣的文章
Emmet:HTML/CSS代码快速编写神器
查看>>
webpack实战
查看>>
虚幻4游戏开发_3_创建与继承材质
查看>>
win2003域控主备(热备)搭建
查看>>
浪潮之巅读后感
查看>>
Mathematica 函数调用发生异常时停止计算
查看>>
Clenshaw–Curtis quadrature
查看>>
ajax做分页
查看>>
CHIL-SQL-约束 (Constraints)
查看>>
64位操作系统在DOSBox中进入debug的问题
查看>>
ArrayList源码分析
查看>>
WiFi无线连接过程中有哪几个主要步骤?
查看>>
C++之编码问题(Unicode,ASCII,本地默认)
查看>>
[日常] DNS的迭代查询过程
查看>>
[Linux] Nginx 提供静态内容和优化积压队列
查看>>
Excel VBA 基本概念
查看>>
获取文件Md5值
查看>>
Linux常用命令整理
查看>>
逛论坛时发现 有关 递归调用
查看>>
JavaScript的3大组成部分&&ECMAScript函数&&闭包
查看>>