第一次写Dinic 然后贴一下 最基础的网络流问题 嘎嘎:

#include <iostream>
#include<cstdio>
#include<string.h>
#include<queue>
using namespace std;
const int M=205;
__int64 map[M][M];
int n,m,dist[M];
queue<int>q;
void readdate()
{
__int64 i,a,b,c;
for(i=0;i<n;i++)
{
scanf("%I64d%I64d%I64d",&a,&b,&c);
map[a][b]+=c;
}
}
bool BFS()
{
while(!q.empty()){q.pop();}
int x,i;
memset(dist,-1,sizeof(dist));
q.push(1);
dist[1]=0;
while(!q.empty())
{
x=q.front();
q.pop();
for(i=1;i<=m;i++)
if(dist[i]<0&&map[x][i]>0)
{
dist[i]=dist[x]+1;
q.push(i);
}
}
if(dist[m]==-1)return 0;
else return 1; }
__int64 min_vual(__int64 a,__int64 b)
{
return a>b?b:a;
}
__int64 find(int a,__int64 low)
{
__int64 aq,i;
if(a==m)return low;
for(i=1;i<=m;i++)
if(dist[a]==dist[i]-1&&map[a][i]>0&&(aq=find(i,min_vual(low,map[a][i]))))
{
map[a][i]-=aq;
map[i][a]+=aq;
return aq;
}
return 0;
}
int main()
{
__int64 temp,ans;
while(scanf("%d%d",&n,&m)==2)
{
ans=0;
memset(map,0,sizeof(map)); readdate();
while(BFS())
{
while((temp=find(1,1<<30)))ans+=temp;
}
printf("%I64d\n",ans);
} return 0;
}

HDU1530 最大流问题的更多相关文章

  1. 网络流-最大流问题 ISAP 算法解释(转自Renfei Song's Blog)

    网络流-最大流问题 ISAP 算法解释 August 7, 2013 / 编程指南 ISAP 是图论求最大流的算法之一,它很好的平衡了运行时间和程序复杂度之间的关系,因此非常常用. 约定 我们使用邻接 ...

  2. 网络最大流问题之Ford-Fulkerson算法原理详解

    前言 最大流问题是网络优化中典型的问题,用形象的语言来描述就是在满足容量约束的前提下将尽可能多的流从源节点(始点)到汇节点(终点).解决此问题的经典方法很多,本文介绍广为人熟知的Ford-Fulker ...

  3. 最大流问题Ford-Fulkerson方法(转)

    本篇主要讲解最大流问题的Ford-Fulkerson解法.可是说这是一种方法,而不是算法,因为它包含具有不同运行时间的几种实现.该方法依赖于三种重要思想:残留网络,增广路径和割.本文将会详细介绍这些内 ...

  4. [图论]最大流问题(Maximum flow)的定义

    首先定义网络(network)N =(V,E), V表示顶点(Vertices)集合, E表示边(Edges)集合. s,t是V中的两个顶点,分别表示网络N中的源点(source)和汇点(sink). ...

  5. 省赛在即!最大流问题回顾学习!!DInic

    Dinic是很好的算法,但是我还是从ek算法复习起步 面对最大流问题,印象最深的就是反向边的思想,他给我们提供了反悔的机会,其实现在放到实际上来想,可以相当于两边的水都流了这条边,只是方向不一样,放到 ...

  6. 最大团 HDU-1530

    传送门: 洛谷 Vjudge    (题目略有不同) 题目描述 • 给定一个图 tt = (V, E) • 求一个点集 S ,使得对于任意 x ≠ y ∈ S ,x 和 y 都有一条边 • |V | ...

  7. NetworkX系列教程(10)-算法之四:拓扑排序与最大流问题

    小书匠Graph图论 重头戏部分来了,写到这里我感觉得仔细认真点了,可能在NetworkX中,实现某些算法就一句话的事,但是这个算法是做什么的,用在什么地方,原理是怎么样的,不清除,所以,我决定先把图 ...

  8. 【python代码】 最大流问题+最小花费问题+python(ortool库)实现

    目录 基本概念 图 邻接矩阵 最大流问题 python解决最大流问题 python解决最大流最小费用问题 基本概念 图 定义: 图G(V,E)是指一个二元组(V(G),E(G)),其中: V(G)={ ...

  9. poj3422 Kaka's Matrix Travels(最小费用最大流问题)

    /* poj3422 Kaka's Matrix Travels 不知道 k次 dp做为什么不对??? 看了大牛的代码,才知道还可以这样做! 开始没有理解将a 和 a‘ 之间建立怎样的两条边,导致程序 ...

随机推荐

  1. python循环字符转换

    pyhon函数传参的时候穿的是引用,而不是实际值,这样可以节省内存 变量名要求:最好是以字母下划线作为变量名,不能和py关键字重复 import getpass提供了平台无关的在命令行下输入密码的方法 ...

  2. unity 2d游戏 按y坐标排序子对象

    List<Transform> objs = new List<Transform>(); for (int i = 0; i < transform.childCoun ...

  3. 20165336 2017-2018-2《Java程序设计》第6周学习总结

    20165336 2017-2018-2<Java程序设计>第6周学习总结 教材学习内容总结 常量池中的数据在程序运行期间再也不允许改变. String s = new String(&q ...

  4. Feature如何解决参数数量不匹配

    问题描述: Feature 写了两个参数,匹配到Steps.Java,  文件只写了两个参数,但是两个参数都加了$ 符号. 而$ 又是结束的意思. 1一:Feature  用例

  5. Word Embedding理解

    一直以来感觉好多地方都吧Word Embedding和word2vec混起来一起说,所以导致对这俩的区别不是很清楚. 其实简单说来就是word embedding包含了word2vec,word2ve ...

  6. ef 数据库创建失败

    在ef之前创建了一个数据库,然后删除后,再用ef创建,失败! USE [master] GO /****** Object: Database [DBname] ******/ ALTER DATAB ...

  7. java应用零停机,时间索引重建(reindex)

    一个field的设置是不能被修改的,如果要修改一个Field,那么应该重新按照新的mapping,建立一个index,然后将数据批量查询出来,重新用bulk api写入index中 批量查询的时候,建 ...

  8. 让IIS6支持任意扩展名和未知扩展名的下载

    IIS6的安全性提高了很多,为了防止扩展名欺骗带来的安全性问题,限制了扩展名MIME类型. IIS6 只为对具有已知文件扩展名的文件的请求提供服务.如果请求内容的文件扩展名未映射到已知的扩展,则服务器 ...

  9. java poi导入Excel(个人代码)

    案例使用的框架:jsp+spring+mybaties <form id="importForm" name="importForm" method=&q ...

  10. Mysql表中唯一编号的分配机制

    最近遇到一个问题:高并发环境下,如何避免MYSQL一张表里的某些列不要重复. 同其他博友一样 https://blog.csdn.net/jacketinsysu/article/details/51 ...