【题解】Drainage Ditches

在农夫约翰的农场上,每逢下雨,贝茜最喜欢的三叶草地就积聚了一潭水。这意味着草地被水淹没了,并且小草要继续生长还要花相当长一段时间。因此,农夫约翰修建了一套排水系统来使贝茜的草地免除被大水淹没的烦恼(不用担心,雨水会流向附近的一条小溪)。作为一名一流的技师,农夫约翰已经在每条排水沟的一端安上了控制器,这样他可以控制流入排水沟的水流量。

农夫约翰知道每一条排水沟每分钟可以流过的水量,和排水系统的准确布局(起点为水潭而终点为小溪的一张网)。需要注意的是,有些时候从一处到另一处不只有一条排水沟。

根据这些信息,计算从水潭排水到小溪的最大流量。对于给出的每条排水沟,雨水只能沿着一个方向流动,注意可能会出现雨水环形流动的情形。

第一行:两个用空格分开的整数 (N)((0 \le N \le 200))和 (M)((2 \le M \le 200))。(N) 是农夫 John 已经挖好的排水沟的数量,(M) 是排水沟交叉点的数量。交点 (1) 是水潭,交点 (M) 是小溪。

第二行到第 (N + 1) 行:每行有三个整数,(S_i, E_i, C_i)。(S_i) 和 (E_i)((1 \le S_i, E_i \le M))指明排水沟两端的交点,雨水从 (S_i) 流向 (E_i)。(C_i)((0 \le C_i \le {10}^7))是这条排水沟的最大容量。

输出一个整数,即排水的最大流量。

5 4
1 2 40
1 4 20
2 4 20
2 3 30
3 4 10
50

题目翻译来自NOCOW。

USACO Training Section 4.2

【数据范围】

对于 (100 \%) 的数据,(0 \le N, M \le 200),(0 \le C_i \le {10}^7)。

裸最大流板子

#include<cstdio>
#include<iostream>
#include<algorithm>
#include<queue>
#include<cstring>
using namespace std;
#define int long long
const int N=10100,M=200100,inf=1e8;

int n,m,S,T;
int q[N],cur[N],h[N],d[N],idx;
int e[M],ne[M],f[M];

inline void add(int a,int b,int c)
{
    e[idx]=b,f[idx]=c,ne[idx]=h[a],h[a]=idx++;
    e[idx]=a,f[idx]=0,ne[idx]=h[b],h[b]=idx++;
}
inline bool bfs()
{
    int tt=0,hh=0;
    memset(d,-1,sizeof d);
    q[0]=S,d[S]=0,cur[S]=h[S];

    while(hh<=tt) { int t="q[hh++];" for(int i="h[t];~i;i=ne[i])" ver="e[i];" if(d[ver]="=-1&&f[i])" d[ver]="d[t]+1;" cur[ver]="h[ver];" if(ver="=T)" return true; q[++tt]="ver;" } false; find(int u,int limit) if(u="=T)" limit; flow="0;" cur[u]="i;" if(!t) f[i]-="t;" f[i^1]+="t;" flow+="t;" flow; dinic() ans="0,flow;" while(bfs()) while(flow="find(S,inf))" ans+="flow;" ans; signed main() while(cin>>n>>m)
    {
        S=1,T=m;
        memset(h,-1,sizeof h);
        idx=0;
        for(int i=1;i<=n;i++) { int u,v,c; cin>>u>>v>>c;
            add(u,v,c);
        }
        cout<<dinic()<<endl; } return 0; < code></dinic()<<endl;></=n;i++)></=tt)></cstring></queue></algorithm></iostream></cstdio>

Original: https://www.cnblogs.com/watasky/p/16636822.html
Author: watasky
Title: 【题解】Drainage Ditches

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/604122/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球