当前位置: 首页 > news >正文

临清网站建设排行榜百度

临清网站建设,排行榜百度,龙岗网站建设 公司推广,义乌来料加工网算法进阶课整理 CSDN个人主页:更好的阅读体验 原题链接 题目描述 给定一个包含 n n n 个点 m m m 条边的有向图,并给定每条边的容量和费用,边的容量非负。 图中可能存在重边和自环,保证费用不会存在负环。 求从 S S S 到 …

算法进阶课整理

CSDN个人主页:更好的阅读体验

Start

原题链接
题目描述

给定一个包含 n n n 个点 m m m 条边的有向图,并给定每条边的容量和费用,边的容量非负。

图中可能存在重边和自环,保证费用不会存在负环。

求从 S S S T T T 的最大流,以及在流量最大时的最小费用。

输入格式

第一行包含四个整数 n , m , S , T n,m,S,T n,m,S,T

接下来 m m m 行,每行三个整数 u , v , c , w u,v,c,w u,v,c,w,表示从点 u u u 到点 v v v 存在一条有向边,容量为 c c c,费用为 w w w

点的编号从 1 1 1 n n n

输出格式

输出点 S S S 到点 T T T 的最大流和流量最大时的最小费用。

如果从点 S S S 无法到达点 T T T 则输出 0 0

数据范围

2 ≤ n ≤ 5000 2≤n≤5000 2n5000,

1 ≤ m ≤ 50000 1≤m≤50000 1m50000,

0 ≤ c ≤ 100 0≤c≤100 0c100,

− 100 ≤ w ≤ 100 -100 \le w \le 100 100w100

S ≠ T S≠T S=T


算法步骤

费用流算法本质上是 EK 算法,只不过将找增广路的 BFS 算法替换为了 SPFA 算法。

  1. 找到一条费用最少(最多)的增广路径
  2. 更新残量网络
  3. 累加最大流量
算法时间复杂度 O ( n m f ) O(nmf) O(nmf)

AC Code

C + + \text{C}++ C++

#include <iostream>
#include <cstring>using namespace std;const int N = 5010, M = 100010;
const int INF = 1e9;int n, m, S, T;
int h[N], e[M], ne[M], f[M], w[M], idx;
int q[N], d[N], pre[N], lim[N];
bool st[N];inline void add(int a, int b, int c, int d)
{e[idx] = b, f[idx] = c, w[idx] = d, ne[idx] = h[a], h[a] = idx ++ ;e[idx] = a, f[idx] = 0, w[idx] = -d, ne[idx] = h[b], h[b] = idx ++ ;
}bool spfa()
{int hh = 0, tt = 1;memset(d, 0x3f, sizeof d);memset(lim, 0, sizeof lim);q[0] = S, d[S] = 0, lim[S] = INF;while (hh != tt){int t = q[hh ++ ];if (hh == N) hh = 0;st[t] = false;for (int i = h[t]; ~i; i = ne[i]){int j = e[i];if (d[j] > d[t] + w[i] && f[i]){d[j] = d[t] + w[i];pre[j] = i, lim[j] = min(f[i], lim[t]);if (!st[j]){st[j] = true;q[tt ++ ] = j;if (tt == N) tt = 0;}}}}return lim[T] > 0;
}void EK(int& flow, int& cost)
{while (spfa()){int t = lim[T];flow += t, cost += t * d[T];for (int i = T; i != S; i = e[pre[i] ^ 1])f[pre[i]] -= t, f[pre[i] ^ 1] += t;}
}int main()
{int a, b, c, d;memset(h, -1, sizeof h);scanf("%d%d%d%d", &n, &m, &S, &T);while (m -- ){scanf("%d%d%d%d", &a, &b, &c, &d);add(a, b, c, d);}int flow = 0, cost = 0;EK(flow, cost);printf("%d %d\n", flow, cost);return 0;
}

228aa7bed3e021faf24cf8560d3e47bb.gif

最后,如果觉得对您有帮助的话,点个赞再走吧!

http://www.mfbz.cn/news/275/

相关文章:

  • 外国网站 icp备案关键词查询网站的工具
  • 山东省春季高考网站建设试题网站优化外包找谁
  • 化妆品网站网页设计今日刚刚发生的军事新闻
  • 百度网站收入提交精准客户截流软件
  • 团购网站自个做百度软文推广怎样收费
  • 切图做网站武汉百度推广开户
  • wordpress 获取 图片说明seo网站
  • wordpress价格表单深圳关键词推广优化
  • wordpress默认titleseo关键词优化外包
  • 视频 收费 网站怎么做抖音十大搜索关键词
  • 自建设网站网络营销以什么为中心
  • *门户网站建设问题软文营销经典案例
  • 苍南规划建设局网站知乎关键词排名优化工具
  • 鹤壁高端网站建设信息推广平台
  • 想通过做威客网站上的任务来赚站内推广有哪些方式
  • 如何做网站授权网址百度竞价推广是什么
  • cpa做电影网站侵权吗网络营销课程个人感悟
  • 个人网站的设计与实现摘要在线crm
  • 建网站要注意的细节建站公司哪个好
  • 可以拿自己电脑做网站主机购物网站有哪些
  • 好的培训网站模板电脑系统优化软件十大排名
  • 嘉兴网红打卡景点seo建站是什么意思
  • 免费服务器推荐宝鸡百度seo
  • 手机网站开发报价如何推广网站运营
  • 中国网站的建设兰州网络推广公司哪家好
  • *网站内容建设管理规范济南网站优化培训
  • 怎么用php作动态网站开发中国广告网
  • 大淘客优惠券网站是怎么做的企业宣传软文范例
  • 南通网站建设项目免费个人主页网站
  • 广州大型网站建设公司图片识别 在线识图