算法复习——网络流模板(ssoj)
题目:
题目描述
有 n(0<n<=1000)个点,m(0<m<=1000)条边,每条边有个流量 h(0<=h<35000),求从点 start 到点 end 的最大流。
输入格式
第一行:4 个整数,分别是 n,m,start,end 。
接下来有 m 行,每行四个三个整数 a,b,h,分别表示 a 到 b,流量为 h 的一条边。
输出格式
输出从点 start 到点 end 的最大流。
样例数据 1
输入 [复制]
7 14 1 7
1 2 5
1 3 6
1 4 5
2 3 2
2 5 3
3 2 2
3 4 3
3 5 3
3 6 7
4 6 5
5 6 1
6 5 1
5 7 8
6 7 7
输出
14
备注
【样例图示】
aaarticlea/jpeg;base64,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" alt="" />
【数据范围】
0<n,m<=1000;h<=35000
方法:
网络流基础模板
代码:
#include<iostream>
#include<cstdio>
#include<cstdlib>
#include<cmath>
#include<ctime>
#include<cctype>
#include<cstring>
#include<string>
#include<algorithm>
#include<queue>
using namespace std;
queue<int>que;
const int N=;
const int inf=1e+;
int first[N],go[N*],next[N*],rest[N*],lev[N],tot=;
int n,m,src,des,ans; inline bool bfs()
{
for(int i=;i<=n;i++) lev[i]=-;
int tail,head,que[N];
que[tail=]=src;
lev[src]=;
for(head=;head<=tail;head++)
{
int u=que[head],v;
for(int e=first[u];e;e=next[e])
{
if(rest[e]&&lev[v=go[e]]==-)
{
lev[v]=lev[u]+;
que[++tail]=v;
if(v==des)
return true;
}
}
}
return false;
} inline int dinic(int u,int flow)
{
if(u==des)
return flow;
int res=,temp,v;
for(int e=first[u];e;e=next[e])
{
if(rest[e]&&lev[v=go[e]]>lev[u])
{
temp=dinic(v,min(rest[e],flow-res));
if(temp)
{
res+=temp;
rest[e]-=temp,rest[e^]+=temp;
if(res==flow) break;
}
}
}
if(res!=flow) lev[u]=-;
return res;
} inline void comb(int u,int v,int w)
{
next[++tot]=first[u],first[u]=tot,rest[tot]=w,go[tot]=v;
next[++tot]=first[v],first[v]=tot,rest[tot]=,go[tot]=u;
} inline void maxflow()
{
while(bfs())
ans+=dinic(src,inf);
} int main()
{
//freopen("a.in","r",stdin);
//freopen("a.out","w",stdout);
scanf("%d%d%d%d",&n,&m,&src,&des);
int u,v,w;
for(int i=;i<=m;i++)
{
scanf("%d%d%d",&u,&v,&w);
comb(u,v,w);
}
maxflow();
cout<<ans<<endl;
return ;
}
算法复习——网络流模板(ssoj)的更多相关文章
- 算法复习——LCA模板(POJ1330)
题目: Description A rooted tree is a well-known data structure in computer science and engineering. An ...
- Power Network POJ - 1459 [网络流模板]
http://poj.org/problem?id=1459 嗯,网络流模板...多源点多汇点的图,超级汇点连发电厂,用户连接超级汇点 Status Accepted Time 391ms Memor ...
- STL算法与树结构模板
STL算法 STL 算法是一些模板函数,提供了相当多的有用算法和操作,从简单如for_each(遍历)到复杂如stable_sort(稳定排序),头文件是:#include <algorithm ...
- C#冒泡算法复习
C#冒泡算法复习 冒泡算法的意思:每一趟找到一个最小或最大的数放到最后面,比较总数的n-1次(因为比较是2个双双比较的) 第一层循环表示进行比较的次数,总共要比较(数的)-1次 (因为比较是2个双双比 ...
- POJ 1273:Drainage Ditches 网络流模板题
Drainage Ditches Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 63339 Accepted: 2443 ...
- 算法复习——欧拉回路混合图(bzoj2095二分+网络流)
题目: Description YYD为了减肥,他来到了瘦海,这是一个巨大的海,海中有n个小岛,小岛之间有m座桥连接,两个小岛之间不会有两座桥,并且从一个小岛可以到另外任意一个小岛.现在YYD想骑单车 ...
- 算法复习——树链剖分模板(bzoj1036)
题目: 题目背景 ZJOI2008 DAY1 T4 题目描述 一棵树上有 n 个节点,编号分别为 1 到 n ,每个节点都有一个权值 w .我们将以下面的形式来要求你对这棵树完成一些操作:I.CHAN ...
- 算法复习——序列分治(ssoj光荣的梦想)
题目: 题目描述 Prince对他在这片大陆上维护的秩序感到满意,于是决定启程离开艾泽拉斯.在他动身之前,Prince决定赋予King_Bette最强大的能量以守护世界.保卫这里的平衡与和谐.在那个时 ...
- 网络流初步:<最大流>——核心(增广路算法)(模板)
增广路的核心就是引入了反向边,使在进行道路探索选择的时候增加了类似于退路的东西[有一点dp的味道??] 具体操作就是:1.首先使用结构体以及数组链表next[ MAXN ]进行边信息的存储 2.[核心 ...
随机推荐
- Android程序初体验
第一个程序的实现的最终功能是: 点击"正确"或者"错误"会得到一个是否正确的提示. 直接上效果图. 此次涉及代码编写的文件有4个: package co ...
- CodeForces 219D Choosing Capital for Treeland (树形DP)
题意:给一个树形图,n个节点,n-1条有向边,要求选一个节点作为根,使需要改变方向的边的数目最少.并输出所有可能作为根的点. 思路: 先随便一个点进行DFS,计算将每棵子树的边全部往下时,所需要的费用 ...
- ubuntu16.0 安装 openstack
主要参考官方文档:https://docs.openstack.org/liberty/zh_CN/install-guide-ubuntu/environment-nosql-database.ht ...
- asp.net mvc集成log4net
第一步:在web项目的引用中添加log4net.dll,可以通过Nuget直接下载并安装: 第二步:在web项目的web.config配置文件的configuration节点内添加log4net节点, ...
- strongSwan大坑一直重启(ubuntu)
报错 Starting strongSwan 5.3.2 IPsec [starter]... charon (20533) started after 40 ms charon stopped af ...
- shrio 权限管理filterChainDefinitions过滤器配置
/** * Shiro-1.2.2内置的FilterChain * @see ============================================================= ...
- AOP日志组件 多次获取post参数
AOP日志组件 多次获取post参数 需求:新增接口日志组件.通过拦截器对接口URL进行拦截处理,然后将接口post请求的参数与结果,写入日志表. 问题:POST方法的参数是存储在request.ge ...
- Spring框架xml配置文件 复杂类型属性注入——数组 list map properties DI dependency injection 依赖注入——属性值的注入依赖于建立的对象(堆空间)
Person类中的各种属性写法如下: package com.swift.person; import java.util.Arrays; import java.util.List; import ...
- Django_外键查询和反查询
一.ForeignKey @property装饰器的作用是返回一个属性特性,在数据库中也有一些小技巧可以拿来用,比如今天要写的外键查询和反向查询的内容. from django.db import m ...
- aggregate和annotate使用
aggregate和annotate方法的使用场景 Django的aggregate和annotate方法属于高级查询方法,主要用于组合查询,是Django高手们必需要熟练掌握的.当我们需要对查询集( ...