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 ...
随机推荐
- textarea placeholder文字换行
要实现这样的效果 第一反应是直接在placeholder属性值里输入\n换行,如: <textarea rows="5" cols="50" placeh ...
- .net、jquery、ajax、wcf实现数据库用户名检测局部刷新
jquery代码 $(function() { $("#user_name").blur(function(){ var user_name=$("#user_name& ...
- 【MyBatis源码分析】insert方法、update方法、delete方法处理流程(下篇)
Configuration的newStatementHandler分析 SimpleExecutor的doUpdate方法上文有分析过: public int doUpdate(MappedState ...
- [原创]使用logcat快速抓取android崩溃日志
在android APP测试过程中会发生不少的crash,目前抓取日志的主流方法是通过eclipse或者eclipse的ddms组件进行捕抓,这两种方法有个缺点是启动时非常耗时.本文通过adb程序与b ...
- profiler内存优化:警惕回调函数
最近做profiler内存优化,踩了一个深坑,觉得有必要做一下笔记. 过程是这样的,游戏启动后,会启动更新模块,加载更新界面,更新检测完成后会切换场景进入登陆界面.切换场景会自动释放上一个场景的资源. ...
- javaCV开发详解之7:让音频转换更加简单,实现通用音频编码格式转换、重采样等音频参数的转换功能(以pcm16le编码的wav转mp3为例)
javaCV系列文章: javacv开发详解之1:调用本机摄像头视频 javaCV开发详解之2:推流器实现,推本地摄像头视频到流媒体服务器以及摄像头录制视频功能实现(基于javaCV-FFMPEG.j ...
- loadrunner学习理论之一
1.负载测试.压力测试的区别? 答:负载测试是在被测系统所承受的正常范围内进行的 压力测试可以在极端的条件下进行 2.loadrunner的三大组件是什么,有什么作用? 答:虚拟用户生成器(virtu ...
- iOS开发之资讯类App常用分类控件的封装与实现(CollectionView+Swift3.0+)
今天博客中,我们就来实现一下一些常用资讯类App中常用的分类选择的控件的封装.本篇博客中没有使用到什么新的技术点,如果非得说用到了什么新的技术点的话,那么勉强的说,用到了一些iOS9以后UIColle ...
- JAVA web.xml中引用多个XML
web.xml里加<context-param><param-name>contextConfigLocation</param-name><param-va ...
- cpio用法详细说明
1.1 cpio基本介绍 cpio是一个非常古老的归档工具.已逐渐被tar替代,但是有些功能是tar不存在的,所以还是分享下它的用法. cpio - copy files to and from ar ...