博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
HDU-1532-Drainage Ditches
阅读量:6415 次
发布时间:2019-06-23

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

链接:https://vjudge.net/problem/HDU-1532

题意:

n条边,m个节点。

求最大流。

多组输入。

思路:

增广路算法。

代码:

#include 
#include
#include
#include
#include
#include
#include
#include
#include
using namespace std;typedef long long LL;const int MAXN = 200 + 10;const int INF = 1e9 + 10;struct Edge{ int _from, _to, _cap, _flow; Edge(int f, int t, int c, int l):_from(f), _to(t), _cap(c), _flow(l) {};};vector
G[MAXN];vector
edges;int a[MAXN], p[MAXN];int n, m;int Get_Flow(){ LL flow = 0; while (1) { memset(a, 0, sizeof(a)); queue
que; que.push(1); a[1] = INF; while (!que.empty()) { int x = que.front(); que.pop(); for (int i = 0;i < G[x].size();i++) { Edge & e = edges[G[x][i]]; if (!a[e._to] && e._cap > e._flow) { p[e._to] = G[x][i]; a[e._to] = min(a[x], e._cap - e._flow); que.push(e._to); } } if (a[m]) break; } if (a[m] == 0) break; for (int u = m;u != 1;u = edges[p[u]]._from) { edges[p[u]]._flow += a[m]; edges[p[u] ^ 1]._flow -= a[m]; } flow += a[m]; } return flow;}void Init(){ edges.clear(); for (int i = 1;i <= m;i++) G[i].clear();}int main(){ int l, r, c; while(~scanf("%d%d", &n, &m)) { Init(); for (int i = 1; i <= n; i++) { scanf("%d%d%d", &l, &r, &c); edges.emplace_back(l, r, c, 0); edges.emplace_back(r, l, 0, 0); int sum = edges.size(); G[l].push_back(sum - 2); G[r].push_back(sum - 1); } printf("%d\n", Get_Flow()); } return 0;}

  

转载于:https://www.cnblogs.com/YDDDD/p/10545003.html

你可能感兴趣的文章
我的友情链接
查看>>
kvm中虚拟机的硬盘扩容
查看>>
Android (Launch Mode) 四种启动模式
查看>>
透视学理论(二)
查看>>
Dubbo/HSF在Service Mesh下的思考和方案
查看>>
Django form表单
查看>>
CTYL-9.14(tomcat端口与阿里云安全组,域名与tomcat配置,域名与反向代理)
查看>>
Java 多线程相关问题记录
查看>>
LNMP架构介绍、MySQL安装、PHP安装、 Nginx介绍
查看>>
简单的Spark+Mysql整合开发
查看>>
阿里java面试经验大汇总(附阿里职位需求)
查看>>
Python全套零基础视频教程+软件2018最新编程视频!
查看>>
内存管理之1:x86段式内存管理与保护模式
查看>>
20180925上课截图
查看>>
IO输入/输出流的简单总结
查看>>
JavaScript之DOM-9 HTML DOM(HTML DOM概述、常用HTML DOM对象、HTML表单)
查看>>
技术成长之路(一)
查看>>
中国北方国际五金城硬件选型
查看>>
php.exe启动时提示缺少MVCR110.dall 64位 window系统 解决
查看>>
判断是否为数字方法
查看>>