POJ1273 最大流模板
之前自己写的,以后当一个模板的基础吧,不管是最大流,最小割,二分图匹配
下面是POJ1273的一个裸题..
1 #include <iostream>
2 #include <cstdio>
3 #include <cstring>
4 #include <vector>
5 #include <queue>
6 using namespace std;
7 struct node{
8 int to,cap,rev;
9 node(int _to,int _cap,int _rev):to(_to),cap(_cap),rev(_rev){}
10 };
11 const int maxn=1005;
12 vector<node> G[maxn];
13 int s,t;
14 void add(int u,int v,int cap){
15 G[u].push_back(node(v,cap,G[v].size()));
16 G[v].push_back(node(u,0,G[u].size()-1));
17 }
18 bool vis[maxn];//这个可以不要,level数组可以起两个作用,记录层数和是否被访问过,类似于dp数组
19 int level[maxn],iter[maxn];
20 void bfs(){
21 memset(level,-1,sizeof(level));
22 queue<int> q;
23 q.push(s);int i;level[s]=0;
24 while(!q.empty()){
25 int u=q.front();
26 q.pop();
27 for(i=0;i<G[u].size();++i){
28 node& e=G[u][i];
29 if(e.cap>0&&level[e.to]<0){
30 level[e.to]=level[u]+1;
31 q.push(e.to);
32 }
33 }
34 }
35 //需要得到所有顶点的level信息,一方面起vis的作用,另一方面起到转移的作用
36 //而且考虑到可能同时存在多个最短增广路
37 }
38 int dfs(int v,int t,int f){
39 //printf("v:%d t:%d f:%d\n",v,t,f);
40 if(v==t) return f;
41 for(int &i=iter[v];i<G[v].size();++i){
42 node &e=G[v][i];
43 if(e.cap>0&&level[e.to]>level[v]){
44 int d=dfs(e.to,t,min(e.cap,f));
45 if(d>0){
46 e.cap-=d;
47 G[e.to][e.rev].cap+=d;
48 return d;
49 }
50 }
51 }
52 return 0;//这里忘记return 0了...
53 }
54 const int INF=~0u>>1;
55 int maxflow(){
56 int flow=0,f;
57 for(;;){
58 bfs();
59 if(level[t]<0) return flow;
60 memset(iter,0,sizeof(iter));
61 while((f=dfs(s,t,INF))>0) flow+=f;
62 }
63 }
64 //直觉上 容量种数越少越快
65 int main(){
66 //freopen("testMaxFlow.txt","r",stdin);
67 int n,i,u,v,cap,m;
68 while(~scanf("%d%d",&m,&n)){
69 s=1;t=n;
70 for(int i=1;i<=n;++i) G[i].clear();//多组数据要清空边
71 for(i=0;i<m;++i){
72 scanf("%d%d%d",&u,&v,&cap);
73 add(u,v,cap);
74 }
75 printf("%d\n",maxflow());
76 }
77 return 0;
78 }
POJ1273 最大流模板的更多相关文章
- 图论算法-最小费用最大流模板【EK;Dinic】
图论算法-最小费用最大流模板[EK;Dinic] EK模板 const int inf=1000000000; int n,m,s,t; struct node{int v,w,c;}; vector ...
- ZOJ_2314_Reactor Cooling_有上下界可行流模板
ZOJ_2314_Reactor Cooling_有上下界可行流模板 The terrorist group leaded by a well known international terroris ...
- Drainage Ditches---hdu1532(最大流, 模板)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1532 最大流模板题: EK:(复杂度为n*m*m); #include<stdio.h> ...
- HDU3376 最小费用最大流 模板2
Matrix Again Time Limit: 5000/2000 MS (Java/Others) Memory Limit: 102400/102400 K (Java/Others)To ...
- HDU2686 费用流 模板
Matrix Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Subm ...
- 【Luogu】P3376网络最大流模板(Dinic)
最大流模板成为另一个被攻克的模板题. 今天QDC给我讲了一下Dinic,感觉很好懂.于是为了巩固就把这道题A掉了. 核心思想就是不断BFS分层,然后不断DFS找增广路.找不到之后就可以把答案累加输出了 ...
- hdu4292 Food 最大流模板题
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4292 题意:水和饮料,建图跑最大流模板. 我用的是学长的模板,最然我还没有仔细理解,不过这都不重要直接 ...
- HDU-3549Flow Problem 最大流模板题
传送门 这里是Ford-Fulkerson写的最大流模板 #include <iostream> #include <cstdio> #include <algorith ...
- 洛谷P3381 最小费用最大流模板
https://www.luogu.org/problem/P3381 题目描述 如题,给出一个网络图,以及其源点和汇点,每条边已知其最大流量和单位流量费用,求出其网络最大流和在最大流情况下的最小费用 ...
随机推荐
- [Usaco2016 Dec]Moocast
原题链接https://www.lydsy.com/JudgeOnline/problem.php?id=4749 可以对于每个点\(i\),往跟\(i\)距离小于等于\(p[i]\)的点\(j\)都 ...
- 入门OJ:八中生成树2
题目描述 八中里面有N个建设物,M条边.对于这种要建最小生成树的问题,你应该很熟练了.现在老大决定降低某条边的费用,然后这条边必须要被选中,因为这条路他每天都要走,自然......问选了这条边后是否可 ...
- .net code+vue 文件上传
后端技术 .net code 官方文档 https://docs.microsoft.com/zh-cn/aspnet/core/mvc/models/file-uploads?view=aspnet ...
- JavaScript的数据类型和数据类型的检测
数据类型 JavaScript的基础数据类型有,NaN string undefined Null Boolen Symbol Bigint 这些都是基础数据类 ...
- 我感兴趣的 .NET 开源项目
Gui.cs - 用于.NET 的控制台终端 UI 工具包 https://github.com/migueldeicaza/gui.cs Newtonsoft.Json - 高性能的 JSON 解析 ...
- LDAP学习
.top pre { display: block; background: rgba(68, 67, 65, 1); color: rgba(255, 255, 255, 1); margin: 1 ...
- LOJ10090
题目描述 原题来自:USACO 2005 Dec. Gold FJ 有 n 头奶牛(2<=n<=1000) ,编号为1..n .奶牛们将按照编号顺序排成一列队伍(可能有多头奶牛在同一位置上 ...
- loj10012 Best Cow Fences
题目描述 原题来自:USACO 2003 Mar. Green 给定一个长度为 N 的非负整数序列 A ,求一个平均数最大的,长度不小于 L 的子段. 输入格式 第一行用空格分隔的两个整数 N 和 L ...
- SSRF漏洞挖掘利用技巧
参考文章 SSRF漏洞(原理&绕过姿势) SSRF绕过方法总结 SSRF绕过IP限制方法总结 Tag: #SSRF Ref: 概述 总结 利用一个可以发起网络请求的服务当作跳板来攻击内部其他服 ...
- java打exe
参考文章: 注册码: https://www.cnblogs.com/jepson6669/p/9211208.html 官网: https://exe4j.apponic.com/ 在上篇基础上,将 ...