#include<iostream>
#include<cstdio>
#include<algorithm>
#include<vector>
#include<queue>
#include<cstring>
#define mp make_pair
#define pb push_back
#define first fi
#define second se
#define pw(x) (1ll << (x))
#define sz(x) ((int)(x).size())
#define all(x) (x).begin(),(x).end()
#define rep(i,l,r) for(int i=(l);i<(r);i++)
#define per(i,r,l) for(int i=(r);i>=(l);i--)
#define FOR(i,l,r) for(int i=(l);i<=(r);i++)
#define eps 1e-9
#define PIE acos(-1)
#define cl(a,b) memset(a,b,sizeof(a))
#define fastio ios::sync_with_stdio(false);cin.tie(0);
#define lson l , mid , ls
#define rson mid + 1 , r , rs
#define ls (rt<<1)
#define rs (ls|1)
#define INF 0x3f3f3f3f
#define LINF 0x3f3f3f3f3f3f3f3f
#define freopen freopen("in.txt","r",stdin);
#define cfin ifstream cin("in.txt");
#define lowbit(x) (x&(-x))
#define sqr(a) a*a
#define ll long long
#define ull unsigned long long
#define vi vector<int>
#define pii pair<int, int>
#define dd(x) cout << #x << " = " << (x) << ", "
#define de(x) cout << #x << " = " << (x) << "\n"
#define endl "\n"
using namespace std;
//**********************************
struct Edge{
int from,to,cap,flow;
}edge;
void addedge(int from,int to,int cap)
{
edge.pb((Edge){from,to,cap,});
edge.pb((Edge){to,from,,});
m=sz(edge);
G[from].pb(m-);G[to].pb(m-);
}
struct Dinic{
int n,m,s,t;
vector<Edge>edge;
vi G[maxn];
int d[maxn];
int cur[maxn];
bool bfs()
{
cl(vis,);
queue<int>Q;
d[s]=;vis[s]=;Q.push(s);
while(!Q.empty()){
int x=Q.front();Q.pop();
rep(i,,sz(G[x])){
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)
{
if(x==t||a==)return a;
int flow=,f;
rep(i,cur[x],sz(G[x])){
cur[x]=i;
Edge& e=edge[G[x][i]];
if(d[x]+==d[e.to]&&(f=dfs(e.to,min(a,e.cap-e.flow)))>){
e.flow+=f;
edge[G[x][i]^].flow-=f;
flow+=f;
a-=f;
if(a==)break;
}
}
return flow;
}
int Maxflow(int s,int t)
{
this->s=s;this->t=t;
int flow=;
while(bfs()){
cl(cur,);
flow+=dfs(s,INF);
}
return flow;
}
};
//********************************** //**********************************
int main()
{ return ;
}

最新文章

  1. 学习PYTHON之路, DAY 8 - PYTHON 基础 8 (面向对象进阶)
  2. 搞ACM的你们伤不起
  3. Oracle SQL 调优之 sqlhc
  4. JavaWeb学习记录(十九)——开发JSTL自定义标签
  5. 禁用windows 10自动更新
  6. La=LaULb (单链表)
  7. 在Sublime Text3中运行PHP代码
  8. Linux-exec命令试验驱动(12)
  9. 搞懂Linux下的几种文件类型
  10. 008_python内置语法
  11. 进程有一个全局变量i,还有有两个线程。i++在两个线程里边分别执行100次,能得到的最大值和最小值分别是多少?
  12. 【JS】for in循环对象,hasOwnProperty()的作用
  13. 【opencv基础】OpenCV从Mat中提取某些行或列
  14. PHP-Yii执行流程分析(源码)
  15. ubuntu samba 安装
  16. BitArray类的使用--(转换二进制数的内部实现过程)
  17. HDU.2640 Queuing (矩阵快速幂)
  18. 妈妈再也不用担心我使用git了
  19. GOOGLE机器学习速成班
  20. WKWebView 屏蔽长按手势 - iOS

热门文章

  1. git遇到的问题记录2019.05.07
  2. 浏览器本质上是解析器javascript
  3. Python与C/C++相互调用(转)
  4. 【python+selenium】selenium grid(分布式)
  5. Delphi 声明特性
  6. 《浏览器工作原理与实践》&lt;07&gt;变量提升:JavaScript代码是按顺序执行的吗?
  7. CAFFE(0):Ubuntu 下安装anaconda2和anaconda3
  8. shell变量引用
  9. 认识Caffe与Caffe2
  10. ACM-ICPC 2019南昌网络赛I题 Yukino With Subinterval