nyoj_323:Drainage Ditches(网络流入门)
网络流入门@_@,此处本人用的刘汝佳的Dinic模板
#include<bits/stdc++.h>
using namespace std;
const int INF = 0x3f3f3f3f;
struct Edge
{
int from,to,cap,flow;
};
int n,s,t,m;
struct Dinic
{
, M = ; //N对应点数
vector<Edge> edges;
vector<int> G[N];
bool vis[N];
int d[N];
int cur[N];
void init()
{
; i<=n; i++)
G[i].clear();
edges.clear();
}
void AddEdge(int from,int to,int cap)
{
edges.push_back((Edge)
{
});
edges.push_back((Edge)
{
to,,
});
int w=edges.size();
G[);
G[to].push_back(w-);
}
bool bfs()
{
memset(vis,,sizeof(vis));
queue<int>Q;
d[s] = ;
Q.push(s);
vis[s]=;
while (!Q.empty())
{
int x = Q.front();
Q.pop();
; i<G[x].size(); i++)
{
Edge e=edges[G[x][i]];
if (!vis[e.to]&&e.cap>e.flow)
{
vis[e.to]=;
d[e.to] = d[x] + ;
Q.push(e.to);
}
}
}
return vis[t];
}
int dfs(int x, int a)
{
) return a;
,f;
for (int&i = cur[x] ; i<G[x].size(); i++)
{
Edge& e=edges[G[x][i]];
&&(f=dfs(e.to,min(a,e.cap-e.flow)))>)
{
e.flow+=f;
edges[G[x][i]^].flow-=f; //流量增大意味着净容量减少
flow+=f; //反向边容量表示了正向边的流量
a -= f;
)break;
}
}
return flow;
}
int Maxflow(int s, int t)
{
;
while (bfs())
{
memset(cur,,sizeof(cur));
flow += dfs(s, INF);
}
// for(int i=1;i<=n;i++)
// for(int j=0;j<G[i].size();j++)
// printf("from:%d to:%d cap:%d flow:%d\n",i,edges[G[i][j]].to,edges[G[i][j]].cap,edges[G[i][j]].flow);
return flow;
}
} g;
int main()
{
while(~scanf("%d%d",&m,&n))
{
g.init();
s=;
t=n;
; i<m; i++)
{
int a,b,c;
scanf("%d%d%d",&a,&b,&c);
g.AddEdge(a,b,c);
}
printf("%d\n",g.Maxflow(s,t));
}
}
nyoj_323:Drainage Ditches(网络流入门)的更多相关文章
- POJ 1273 Drainage Ditches (网络流Dinic模板)
Description Every time it rains on Farmer John's fields, a pond forms over Bessie's favorite clover ...
- POJ 1273:Drainage Ditches 网络流模板题
Drainage Ditches Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 63339 Accepted: 2443 ...
- HDU1532 Drainage Ditches 网络流EK算法
Drainage Ditches Problem Description Every time it rains on Farmer John's fields, a pond forms over ...
- USACO 4.2 Drainage Ditches(网络流模板题)
Drainage DitchesHal Burch Every time it rains on Farmer John's fields, a pond forms over Bessie's fa ...
- NYOJ 323 Drainage Ditches 网络流 FF 练手
Drainage Ditches 时间限制:1000 ms | 内存限制:65535 KB 难度:4 描述 Every time it rains on Farmer John's fields, ...
- POJ 1273 Drainage Ditches 网络流 FF
Drainage Ditches Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 74480 Accepted: 2895 ...
- Drainage Ditches~网络流模板
Description Every time it rains on Farmer John's fields, a pond forms over Bessie's favorite clover ...
- poj 1273 Drainage Ditches 网络流最大流基础
Drainage Ditches Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 59176 Accepted: 2272 ...
- POJ-1273Drainage Ditches(网络流入门题,最大流)
Every time it rains on Farmer John's fields, a pond forms over Bessie's favorite clover patch. This ...
随机推荐
- JavaSE教程-02Java基本语法-练习
请说出下面的运算结果及解释为什么 System.out.println(1+1+"1");//? System.out.println("1"+1+1);//? ...
- Javascript事件模型(二):Javascript事件的父元素和子元素
DOM事件标准定义了两种事件流,分别是捕获和冒泡.默认情况下,事件使用冒泡事件流,不使用捕获事件流.你可以指定使用捕获事件流,方法是在注册事件时传入useCapture参数,将这个参数设为true. ...
- [UWP]用Shape做动画
相对于WPF/Silverlight,UWP的动画系统可以说有大幅提高,不过本文无意深入讨论这些动画API,本文将介绍使用Shape做一些进度.等待方面的动画,除此之外也会介绍一些相关技巧. 1. 使 ...
- 每天一个JS 小demo之新建文件夹。主要知识点:DOM方法的综合运用
<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"& ...
- Hadoop和MapReduce初识
我们生活在大数据时代!!!微博.微信.云存储等大数据的需求,Hadoop由此诞生. 以下面部分数据为例: 1)Facebook存储着约100亿张照片,约1PB存储容量: 2)纽约证券交易所每天产生1T ...
- 关于dubbo分享
一.dubbo服务是基于zookeeper提供服务.提供消费 1.Zookeeper的作用: zookeeper用来注册服务和进行负载均衡,哪一个服务由哪一个机器来提供必需让调用者知道,简单来说就是i ...
- kubeadm 安装1.6.0版本出错 未解决
工具包已经安装好了. [root@master data]# rpm -qa |grep kubekubeadm-1.6.0-0.x86_64kubectl-1.6.0-0.x86_64kubelet ...
- thinkphp之获取客户端IP地址
/** * 获取客户端IP地址 * @param integer $type 返回类型 0 返回IP地址 1 返回IPV4地址数字 * @return mixed */ function get_cl ...
- 通过ant-jmeter读取jtl文件拆分数据并insert DB
前言:之前详解过通过jmeter生成的csv文件,解析csv存入DB,这个有弊端 第一:需独立创建一个job 第二:需按照一定规范输出 因此,放弃解析csv方式,直接解析自动化生成的原始jtl文件并集 ...
- [leetcode-438-Find All Anagrams in a String]
Given a string s and a non-empty string p, find all the start indices of p's anagrams in s.Strings c ...