洛谷 3376

  1. #include<cstdio>
  2. #include<algorithm>
  3. #include<cstring>
  4. #define N 10010
  5. #define rg register
  6. using namespace std;
  7. int n,m,S,T,tot,ans,last[N],d[N],q[N],cur[N];
  8. struct edge{
  9. int to,pre,f;
  10. }e[];
  11. inline int read(){
  12. int k=,f=; char c=getchar();
  13. while(c<''||c>'')c=='-'&&(f=-),c=getchar();
  14. while(''<=c&&c<='')k=k*+c-'',c=getchar();
  15. return k*f;
  16. }
  17. bool bfs(){
  18. memset(d,-,sizeof(d));
  19. d[S]=;
  20. int front=,rear=; q[front]=S;
  21. while(front<rear){
  22. int now=q[front++];
  23. for(rg int i=last[now],to;i;i=e[i].pre)
  24. if(d[to=e[i].to]==-&&e[i].f) d[to]=d[now]+,q[rear++]=to;
  25. }
  26. return d[T]>=;
  27. }
  28. int dfs(int x,int a){
  29. if(x==T||a==) return a;
  30. int flow=,f;
  31. for(rg int &i=cur[x],to;i;i=e[i].pre)
  32. if(d[to=e[i].to]==d[x]+&&e[i].f&&(f=dfs(to,min(a,e[i].f)))){
  33. e[i].f-=f; e[i^].f+=f; flow+=f; a-=f;
  34. if(!a) break;
  35. }
  36. return flow;
  37. }
  38. int dinic(){
  39. int ans=;
  40. while(bfs()){
  41. for(rg int i=;i<=n;i++) cur[i]=last[i];
  42. ans+=dfs(S,2e9);
  43. }
  44. return ans;
  45. }
  46. int main(){
  47. n=read(); m=read(); S=read(); T=read(); tot=;
  48. for(rg int i=;i<=m;i++){
  49. int u=read(),v=read();
  50. e[++tot]=(edge){v,last[u],read()}; last[u]=tot;
  51. e[++tot]=(edge){u,last[v],}; last[v]=tot;
  52. }
  53. printf("%d\n",dinic());
  54. return ;
  55. }

【模板】网络流-最大流 Dinic的更多相关文章

  1. [讲解]网络流最大流dinic算法

    网络流最大流算法dinic ps:本文章不适合萌新,我写这个主要是为了复习一些细节,概念介绍比较模糊,建议多刷题去理解 例题:codevs草地排水,方格取数 [抒情一下] 虽然老师说这个多半不考,但是 ...

  2. 网络流--最大流dinic模板

    标准的大白书式模板,除了变量名并不一样……在主函数中只需要用到 init 函数.add 函数以及 mf 函数 #include<stdio.h> //差不多要加这么些头文件 #includ ...

  3. 网络流-最大流 Dinic模板

    #include <bits/stdc++.h> using namespace std; #define MP make_pair #define PB push_back #defin ...

  4. 网络流--最大流--Dinic模板矩阵版(当前弧优化+非当前弧优化)

    //非当前弧优化版 #include <iostream> #include <cstdio> #include <math.h> #include <cst ...

  5. 网络流最大流——dinic算法

    前言 网络流问题是一个很深奥的问题,对应也有许多很优秀的算法.但是本文只会讲述dinic算法 最近写了好多网络流的题目,想想看还是写一篇来总结一下网络流和dinic算法以免以后自己忘了... 网络流问 ...

  6. Power Network(网络流最大流 & dinic算法 + 优化)

    Power Network Time Limit: 2000MS   Memory Limit: 32768K Total Submissions: 24019   Accepted: 12540 D ...

  7. POJ训练计划1459_Power Network(网络流最大流/Dinic)

    解题报告 这题建模实在是好建.,,好贱.., 给前向星给跪了,纯dinic的前向星居然TLE,sad.,,回头看看优化,.. 矩阵跑过了.2A,sad,,, /******************** ...

  8. (网络流 最大流 Dinic || SAP)Control -- hdu --4289

    链接: http://acm.hdu.edu.cn/showproblem.php?pid=4289 http://acm.hust.edu.cn/vjudge/contest/view.action ...

  9. UESTC 1143 数据传输 网络流 最大流 Dinic

    数据传输 Time Limit: 3000/1000MS (Java/Others)     Memory Limit: 65535/65535KB (Java/Others) Submit  Sta ...

随机推荐

  1. 51Nod 1443 路径和树 —— dijkstra

    题目:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1443 首先要得到一个最短路树: 注意边权和最小,因为在最短路中,每 ...

  2. Eclipse 安装 Maven 插件的几种方法

    转自:https://blog.csdn.net/oqqHun123/article/details/79674994 昨天直接在机器上配置了Maven环境,今天顺便把Eclipse等IDE环境配置好 ...

  3. LaTex简历排版

    为了写好简历,倒腾了好几天的Latex,主要是因为中文支持问题还有morderncv的更新问题... 1.  http://www.ctex.org/CTeXDownload/ 建议下载v2.9.2. ...

  4. 【转】20道Spring Boot面试题

    面试了少量人,简历上都说自己熟习 Spring Boot, 或者者说正在学习 Spring Boot,一问他们时,都只停留在简单的使用阶段,很多东西都不清楚,也让我对面试者大失所望. 下面,我给大家总 ...

  5. centos 安装sysbench

    安装sysbench 下载并且解压 shell> wget https://github.com/akopytov/sysbench/archive/1.0.zip -O "sysbe ...

  6. 洛谷P3366 【模板】最小生成树(Kruskal)

    题目描述 如题,给出一个无向图,求出最小生成树,如果该图不连通,则输出orz 输入输出格式 输入格式: 第一行包含两个整数N.M,表示该图共有N个结点和M条无向边.(N<=5000,M<= ...

  7. 牛客练习赛17-A-长方体

    题目描述 给出共享长方体一个顶点的三个面的面积,求它十二条边的边长和. 输入描述: 一行三个整数a, b, c表示面积(1 <= a, b, c <= 10000). 输出描述: 一行一个 ...

  8. 转 form表单中name和id区别

          HTML文本是由HTML命令组成的描述性文本,HTML命令可以说明文字.图形.动画.声音.表格.链接等.HTML的结构包括头部(Head).主体(Body)两大部分,其中头部描述浏览器所需 ...

  9. selenium + python实现截图并且保存图片

    webdriver的截图功能十分强悍,无论页面多长,webdriver都能比较完美的截到完整的页面. python代码: # -*- coding: utf-8 -*-from selenium im ...

  10. 日期时间选择器插件flatpickr

    前言:在网页上需要输入时间的时候,我们可以用HTML5的inputl中的date类型.但是如下入所示,有些浏览器不支持.flatpickr这个小插件可以解决这个问题. 1.flatpickr日期时间选 ...