最大流 POJ 1273

poj1273解题报告(最大流 EK算法) 题目大意:现在有m个池塘(从1到m开始编号,1为源点,m为汇点),及n条水渠,给出这n条水渠所连接的池塘和所能流过的水量,求水渠中所能流过的水的最大容量. 解题思路:最大流的经典题目,套模板即可完成,直接用的LRJ的模板 #include #include #include #include #include #include using namespace std; const int N= 阅读详情

模板题( ⊙ o ⊙ )啊!
m个池塘,n条水渠,给出水渠连接的池塘所能流过的水量,求从1号池塘能流到m号池塘的水的最大流量

#include<algorithm>
#include<iostream>
#include<cstring>
#include<cstdio>
#define inf 0x3f3f3f3f
using namespace std;
const int maxn=200+10,maxm=1000+10;
int n,m,S,T,cnt;
int hd[maxn],to[maxm],nxt[maxm],fl[maxm],pos[maxn];//数组一定不能开小( ⊙ o ⊙ )啊!否则会TLE( ⊙ o ⊙ )啊!
void add(int x,int y,int z){
    to[cnt]=y,fl[cnt]=z,nxt[cnt]=hd[x],hd[x]=cnt++;
    to[cnt]=x,fl[cnt]=0,nxt[cnt]=hd[y],hd[y]=cnt++;//fl[i]代表品第i条边上的剩余可曾流量
}
int find(int v,int f){//v起点,f可增流量
    if(v==T)
        return f;//如果当前起点已经是汇点,那么直接返回当前可增流量
    int res=0,t;
    for(int i=hd[v];i!=-1&&f>res;i=nxt[i])//dfs求起点的下一层点---其实也就相当于在bfs
        if(pos[v]+1==pos[to[i]]&&fl[i]){
            t=find(to[i],min(f-res,fl[i]));fl[i]-=t,res+=t,fl[i^1]+=t;}
    if(!res)//如果res==0那么就代表此路不通,设为-1代表无法访问
        pos[v]=-1;
    return res;
}
bool bfs(){
    memset(pos,-1,sizeof(pos));
    int head=0,tail=0,q[maxn];
    pos[q[0]=S]=0;
    while(head<=tail){
        int t=q[head++];
        for(int i=hd[t];i!=-1;i=nxt[i])
            if(pos[to[i]]==-1&&fl[i])
                pos[q[++tail]=to[i]]=pos[t]+1;
    }
    return pos[T]>0;
}
int dinic(){
    int res=0,t;
    while(bfs())
        while(t=find(S,inf))
            res+=t;
    return res;
}
int main(){
    while(scanf("%d%d",&n,&m)!=EOF){
        memset(hd,-1,sizeof(hd));
        //memset(pos,-1,sizeof(pos));
        for(int i=1,x,y,z;i<=n;i++)
            scanf("%d%d%d",&x,&y,&z),add(x,y,z);
        S=1,T=m,cnt=0;
        printf("%d\n",dinic());
    }
    return 0;
}
最大流的基本算法(ff算法&&dinic算法&&push-rebeal算法)poj1273 最大流的基本概念有以下几点:               1.残存网络:即为一条管道被占用了一部分流量之后所剩下的流量。在网络流中,图被看为一个有向图,残存流量向量相加后永远不变。这一点有点像基尔霍夫定律。               2.在找到一个流之后,仍然存在的从源点到汇点的路径。这叫做增广路径。加入增广路径后,流的容量一定能够提升。寻找增广路径一般使用DFS或BFS。 ford-fu 阅读详情

相关推荐

UE4逆向实战:如何快速定位UWorld和GName的5种实用技巧(含版本差异分析)

本文详细介绍了UE4逆向工程中快速定位UWorld和GName的5种实用技巧,包括特征码定位法、动态行为分析法、静态符号分析法等,并针对不同版本差异提供了适配方案。特别强调了UWorld作为游戏世界核心容器和GName作为名称管理系统的重要性,帮助开发者高效进行游戏逆向分析。

star的博客 894

poj(1273)(最大流)

#include"string.h" #include"stdio.h" #include"queue" #define inf 9999999 using namespace std; int r[300][300];//残留网络,初始化为原图 int pre[300];//记录流的上一个结点,即从pre[i]流向i int visit[300];记录是否访问 int n,m;

飞雪---晨 812

第18届全国大学生智能汽车竞赛四轮车开源讲解【2.5】-- 图像处理实战:从二值化到边缘检测的工程优化

本文深入讲解了第18届全国大学生智能汽车竞赛四轮车开源项目中图像处理的核心实战技术。文章聚焦于二值化与边缘检测两大关键环节,详细对比了大津法与索贝尔算子的工程应用与优化策略,并分享了遮光、偏振片等物理抗干扰技巧,旨在帮助参赛者构建稳定高效的图像预处理流水线,为赛道识别奠定坚实基础。

weixin_29279047的博客 100

POJ 1273 --简单最大流问题

这两天学习了网络流有关的部分, 了解了 3个 求最大流的 算法( EK, FF, Dinic )比较重要的概念有: 增广矩阵、增广路、反向边EK算法用的是BFSFF算法用的是DFSDinic 算法结合了上述两个算法的优点: 先用BFS将图划分层次, 然后在用DFS找源点到汇点的增广路径用一道网络流入门题练练手 (poj 1273),代码如下://poj 1273 基础最大流问题 // EK 算法 ...

Mr. Hu 的博客 748

STM32G0——USB虚拟串口

STM32G0用cubeMX配置实现USB虚拟串口

阿昌 2318

电流模架构Bandgap设计与仿真

带隙基准作为集成电路中一个重要模块,被广泛应用在低压差线性稳压(LDO)、充电电池保护芯片和通信电路、射频收发器、flash存储器等多种模拟及数模混合集成电路中,并且是片上集成系统(SOC)芯片中不可或缺的部分,为整个芯片提供精确的电压参考点............

qq_50968231的博客 5万+

poj 1273 最大流 基础题 (内有最详细的最大流分析,很好入门)

详细的最大流基础:http://course.cug.edu.cn/cugFirst/operational_research/main/charpter7/p4.htm# http://www.cppblog.com/mythit/archive/2009/04/19/80470.aspx(里边有点小错误,很明显,但解释的通俗易懂) #include

ChallenChenZhiPeng的专栏 1096

告别命令行恐惧!用nTopology可视化工具5分钟搞定三维Voronoi泡沫建模

本文介绍如何利用nTopology可视化工具快速生成三维Voronoi泡沫结构,无需编程即可完成复杂建模。Voronoi结构在轻量化设计、能量吸收和生物医学等领域具有重要应用,传统命令行方法门槛较高。通过nTopology的四步流程,用户可在5分钟内创建仿真就绪模型,大幅提升设计效率。

weixin_30764771的博客 425

经典的最大流题POJ1273

经典的最大流题POJ1273 分类: 网络流 poj图论2012-07-20 11:02 1395人阅读 评论(1) 收藏 举报 sap算法优化iostreampair百度 目录(?)[+] 百度文库花了5分下的 不过确实是自己需要的东西 经典的最大流题POJ1273 ——其他练习题 POJ3436 、 题意描述: 现

readlnh的博客 663

DA14531之如何Debug(在线调试、Jlink仿真、串口打印)

在线调试和串口打印调试。在线调试是Keil软件配合Jlink编译、烧录、仿真为一体的,其操作包括:运行、停止、打断点,单步运行等。而串口打印调试,只需打开相关配置,让arch_printf()函数正常输出串口数据。若想在初始化完成后打印arch_printf(“goto Loop\r\n”);波特率为115200,接收到串口消息goto Loop。连好线后,点击仿真按钮,在线Jlink调试。

hejinwu1314的博客 1792

用 YOLOv11‑Seg 做工地实例分割:从 0 起步到效果调优,真香!

这不是一篇“官方文档翻译”,而是一篇。

weixin_43199439的博客 776

最大流poj1273

// BFS 的 Edmonds_Karp #include #include using namespace std; const int N = 210;//顶点最多个数 const int INF = 0x7FFFFFFF;//无穷大 int n,m,map[N][N],path[N],flow[N],start,end;//n为顶点,m为边,map为邻接矩阵 q

宏亮的专栏 931

推荐系统[六]:混排算法简介、研究现状混排技术以及MDP-DOTA信息流第三代混排调控框架,高质量项目实战。

混排是指将多个不同的推荐结果混合在一起,以提供更多样化的选择和更全面的覆盖。混排的目的是为了避免推荐系统出现过度偏向某些内容或类型的情况,从而提高推荐的多样性和准确性。混排的实现方式通常是基于多种推荐算法和数据源,通过加权和组合的方式来生成最终的推荐结果。信息流推荐算法的核心是理解用户兴趣,捕捉用户逛买意图,并据此做到高效的人货匹配。

丨汀、的博客 1929

poj 1273 Drainage Ditches(最大流)

poj 1273 Drainage Ditches对增广路,最大流不知太熟悉,看这里Description Every time it rains on Farmer John’s fields, a pond forms over Bessie’s favorite clover patch. This means that the clover is covered by water for

总有那么一群人喜欢盯着我的博客看,估计这是他们见过最长的博客名,我必须得告诉他们博客名最长可以写多长 670

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

最大流 POJ1273 Drainage Ditches

最大流 POJ1273 Drainage Ditches 题目描述:Every time it rains on Farmer John's fields, a pond forms over Bessie's favorite clover patch. This means that the clover is covered by water for awhile and takes qui...

weixin_30321449的博客 118

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

UVA 820 --- POJ 1273 最大流

找了好久这两个的区别。。。UVA820 WA了 好多次。不过以后就做模板了,可以求任意两点之间的最大流。 UVA 是无向图,因此可能有重边,POJ 1273是有向图,而且是单源点求最大流,因此改模板的时候注意一下。 而且我居然犯了更愚蠢的错误,以为重边的时候需要选最大的,正解应该是累加。。。。 1 #include<stdio.h> 2 #include&...

LYU0820的博客 185

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

POJ 1273 Drainage Ditches 最大流

http://poj.org/problem?id=1273 题目大意: 给你N条路径(有重边),和M个点,求以1为源点,M为汇点的最大流。 思路: 第一题最大流问题,直接用Edmonds-Karp算法即可 #include<cstdio> #include<cstring> #include<queue> #include<al...

weixin_30915951的博客 108

poj1273 Drainage Ditches(最大流EKarp+Dinic+模板总结)

http://poj.org/problem?id=1273 题意:农夫的田野每次一到下雨就会被淹没,这让他很苦恼。于是修了好多渠沟,编号为1作为池塘,编号为n作为小溪,求从池塘到小溪的最大排水量。 ps:最大流第一题。 思路:花了一段时间来入门,这个是EKarp的教程,并且参考了这个代码。现在感觉这个算法好神奇。首先扩展方式精辟,按照我们普通的想法,每找到一条增广路,就

Iguodala的博客 658

[网络流-最大流]POJ-1273Drainage Ditches

题目链接 http://poj.org/problem?id=1273 题目 基本最大流输入 题解 Edmonds-Karp算法 代码 #include&lt;iostream&gt; #include&lt;cstdio&gt; #include&lt;cstring&gt; #include&lt;algorithm&gt; #include&lt;v...

Uniontake 172

Poj 1273 Drainage Ditches(最大流 Edmonds-Karp )

题目链接:poj1273 Drainage Ditches 呜呜,今天自学网络流,看了EK算法,学的晕晕的,留个简单模板题来作纪念、、、 1 #include<cstdio> 2 #include<vector> 3 #include<queue> 4 #include<cstring> 5 #include&...

dhe56357的博客 161

POJ-1273 Drainage Ditches【最大流】

题目链接:http://poj.org/problem?id=1273 题目大意: 有一个水塘,一个大海,要把水塘里的水尽可能多的排到大海里。当然,要通过一些水渠,这些水渠有一定的容量限制。 问最多能有多少水能流到大海里。 解题思路: 最大流的入门题。看了一上午就做了出来,很简单其实。。。用的BFS和Ford_Fulkerson算法。网上资料很多,大概看看应该就理解了。网络流开始还是很是

飘过的小牛 1547

[转载 ]POJ 1273 最大流模板

转载 百度文库花了5分下的不过确实是自己需要的东西经典的最大流题POJ1273 ——其他练习题POJ3436、 题意描述: 现在有m个池塘(从1到m开始编号,1为源点,m为汇点),及n条水渠,给出这n条水渠所连接的池塘和所能流过的水量,求水渠中所能流过的水的最大容量.一道基础的最大流题目。但是模板小心使用,目前只是求单源点的最大流。 参考数据: 输入: 54 1...

LYU0820的博客 160

POJ-1273 Drainage Ditches(最大流入门)

前述:这周周一做了两个组合数专题的题,依旧是容斥定理的题目,然后就不会了,正好专题延时了,就转向看了看网络流的博客,a了几道最大流的题,有简单的,有比较综合的,也只能不断摸索着前进,简单的构图还是可以想出来的,但是还是没理解拆点的意义所在,就是想不到为什么要拆点,也做了一些简单的尝试,就是把题解上拆点的做法,用不拆点的方法做,可是想法总觉得很好,就是总是wr,看起来我需要用脑子运行一下这个程序,才

m0_37772713的博客 239

网络最大流poj1273,hdoj1532

最大流poj1273,hdoj1532 看了几天关于最大流的书,今天找一道最经典的最大流题目hdoj1532,跟poj1273一样的题目,起初WA了,不知道什么原因。后来在POJ的discuss看到,原来是重边的问题,对该细节疏忽了。然后把代码改了一下,AC。 这里用的是增广路算法——Edmons-Karp。算法思想是,从零流(所有边的流量均为0)开始不断增加流量,保持每次增加流量后都

AC之路 694
上一篇: 2016.5.2
下一篇: poj 1160 DP
NeighThorn
博客等级 码龄11年 20粉丝 171原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值