POJ1273 最大流EK 裸题

 1 #include <cstdio>
 2 #include <cstring>
 3 #include <queue>
 4 #include <algorithm>
 5 using namespace std;
 6 int n,m;
 7 const int maxn = 205;
 8 int c[maxn][maxn],flow[maxn][maxn];
 9 int vis[maxn],fa[maxn];
10 int largest_flow(int s,int t)
11 {
12
13     queue<int>q;
14     memset(flow,0,sizeof(flow));
15     int ans = 0;
16     while(1)
17     {
18         memset(vis,0,sizeof(vis));
19         q.push(s);
20         vis[s] = 0x3f3f3f3f;
21         while(!q.empty()){
22             int u = q.front();q.pop();
23             for(int v = 1;v<=n;++v)if(!vis[v]&&c[u][v]>flow[u][v]){
24                 fa[v] = u;q.push(v);
25                 vis[v] = min(vis[u],c[u][v]-flow[u][v]);
26             }
27         }
28       //  puts("--------------");
29         if(vis[t]==0)break;
30         for(int i = t;i!=s;i = fa[i]){
31             flow[fa[i]][i]+=vis[t];
32             flow[i][fa[i]]-=vis[t];
33         }
34
35         ans+=vis[t];
36     }
37     return ans;
38 }
39 int main()
40 {
41     while(~scanf("%d%d",&m,&n)){
42         memset(c,0,sizeof(c));
43         for(int i = 1;i<=m;++i){
44             int u,v,w;scanf("%d%d%d",&u,&v,&w);
45             c[u][v]+=w;
46         }
47         printf("%d\n",largest_flow(1,n));
48     }
49     return 0;
50 }
时间: 2024-10-14 04:48:33

POJ1273 最大流EK 裸题的相关文章

POJ1273 最大流 EK算法

套了个EK的模板 //#pragma comment(linker, "/STACK:16777216") //for c++ Compiler #include <stdio.h> #include <iostream> #include <climits> #include <cstring> #include <cmath> #include <stack> #include <queue> #i

POJ1459-Power Network-网络流-最大流(EK模板题)

题目链接:http://poj.org/problem?id=1459 好吧,其实就是一道模板题... 但是写的那么长的鸟语...orz...各种揣度题目意思.... 造福一下大家,我把题目数据的意思说一下,就不用看这可恶的英文了... 题目意思:给几个发电站,给几个消耗站,再给几个转发点.发电站只发电,消耗站只消耗电,转发点只是转发电,再给各个传送线的传电能力.问你消耗站能获得的最多电是多少. 首先输入四个数据,分别表示节点数量,发电站的数量,消耗站的数量,以及转发点的数量. 接下来的是m个转

HD1532Drainage Ditches(最大流模板裸题 + 邻接表)

Drainage Ditches Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 13273    Accepted Submission(s): 6288 Problem Description Every time it rains on Farmer John's fields, a pond forms over Bessie's

poj1273 Drainage Ditches(裸最大流)

Drainage Ditches Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u Drainage Ditches Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u Submit Status Description Every time it rains on Farmer Joh

POJ 1087 最大流裸题 + map

A Plug for UNIX Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 15597   Accepted: 5308 Description You are in charge of setting up the press room for the inaugural meeting of the United Nations Internet eXecutive (UNIX), which has an int

HDU 3376 &amp;&amp; 2686 方格取数 最大和 费用流裸题

题意: 1.一个人从[1,1] ->[n,n] ->[1,1] 2.只能走最短路 3.走过的点不能再走 问最大和. 对每个点拆点限流为1即可满足3. 费用流流量为2满足1 最大费用流,先给图取负,结果再取负,满足2 #include <stdio.h> #include <string.h> #include <iostream> #include <math.h> #include <queue> #include <set&

【BZOJ1061】【NOI2008】志愿者招募 费用流神题、单纯形裸题(代码费用流)

题目模型出的真心神. 需要好难才能推出来. 本来打算写一篇好的题解,但是状态实在不好,没弄会这道题. 只能先扒建边留个坑了. 据说"单纯形算法"可以高速+裸建图 水过此题(呃,或曰此题乃单纯形裸题是也.) 留坑前先给个链接吧,应该是目前网上最好的此题题解: BYV大神的题解:www.byvoid.com/blog/noi-2008-employee/#more-916 我的代码: <span style="font-family:KaiTi_GB2312;font-si

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 _t

HDU 3549 Flow Problem ( 最大流 -EK 算法)

C++,G++的读取速度差距也太大了 Flow Problem 题意:n,m表示n个点m条有向带权边 问:从1-n最大流多少 裸最大流,拿来练手,挺不错的 #include <iostream> #include <cstdlib> #include <cstdio> #include <cstring> #include <queue> #include <algorithm> const int N = 210; #define