尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

网络流——OI复健

网络流——OI复健
📅 发布时间:2026/6/18 0:14:05

鱼鱼在军训7天后(变炭烧鱼鱼了)彻底忘了如何打OI,但距 CSP-J/S2025 第一轮 还有 11 天,距 CSP-J/S2025 第二轮 还有 53 天,祂还有时间吗?

网络流

概念

贺自OI Wiki

image

其中\(f(u, v) = −f(v, u)\)也称为斜对称性。
在任意时刻,网络中所有节点以及剩余容量大于0的边构成的子图被称为残量网络

最大流

令 G=(V,E) 是一个有源汇点的网络,我们希望在 \(G\) 上指定合适的流 \(f\),以最大化整个网络的流量 \(|f|\)(即 \(\sum_{x \in V} f(s, x) - \sum_{x \in V} f(x, s)\)),这一问题被称作最大流问题。通俗来讲,即求 \(s\) 到 \(t\) 的最大流量。
不会讲qwq
来看DALAO的博客(link1,link2)

例题

P3376 【模板】网络最大流

image

代码

#include<bits/stdc++.h>
using namespace std;
const int inf=INT_MAX;
int n,m,s,t;
int h[5010],to[10010],nxt[10010];
long long v[10010];
int now_cur[5010];//当前弧优化
long long dis[10010];
int tot=1;
void add(int x,int y,long long val)
{tot++;to[tot]=y;v[tot]=val;nxt[tot]=h[x];h[x]=tot;	
}
bool bfs()//在残量网络中构造分层图 
{memset(dis,0,sizeof(dis));queue <int> q;q.push(s);dis[s]=1;while(!q.empty()){int x=q.front();q.pop();for(int i=h[x];i;i=nxt[i]){int y=to[i];if(!dis[y]&&v[i]){dis[y]=dis[x]+1;q.push(y);}}}if(dis[t]==0){return 0;}else{return 1;}
}
long long dfs(int x,long long sum)//sum是整条增广路对最大流的贡献
{if(x==t){return sum;}long long res=0;/*对于一个节点x,当它在DFS中走到了第i条弧时,前i-1条弧到汇点的流一定已经被流满而没有可行的路线了因为我们每次向某条边的方向推流的时候, 肯定要么把推送量用完了, 要么是把这个方向的容量榨干了 那么当下一次再访问x节点时,前i-1条弧就没有任何意义了所以我们可以在每次枚举节点x所连的弧时,改变枚举的起点,这样就可以删除起点以前的所有弧,来达到优化剪枝的效果*/ for(int &i=now_cur[x];i&&sum;i=nxt[i]){int y=to[i];if(dis[x]+1==dis[y]&&v[i]){long long k=dfs(y,min(sum,v[i]));//k是当前最小的剩余容量if(k==0)//剪枝,去掉增广完毕的点{dis[y]=0;}res+=k;//res表示经过该点的所有流量之和(相当于流出的总量)sum-=k;//sum表示经过该点的剩余流量 v[i]-=k;v[i^1]+=k;if(sum<=0){return res;}}} if(!res){dis[x]=0;}return res;
}
long long dinic()
{long long ans=0;while(bfs()){memcpy(now_cur,h,sizeof(now_cur));ans+=dfs(s,inf);			}return ans;	
}
int main()
{cin>>n>>m>>s>>t;for(int i=1;i<=m;i++){int x,y;long long val;cin>>x>>y>>val;add(x,y,val);add(y,x,0); } cout<<dinic();return 0; 
} 

正在施工中...

相关新闻

  • 2025“钉耙编程”中国大学生算法设计暑期联赛(3)
  • Symfony学习笔记 - Symfony Documentation - Getting Started(下)
  • 线段树板子

最新新闻

  • 【共创季稿事节】鸿蒙原生 ArkTS 布局实战:用 Flex + FlexWrap + layoutWeight 实现优雅的伪网格排列
  • 2026年6月上海装修公司选购参考指南:高端整装、全屋定制、老房翻新、别墅自建房装修优质厂商汇总 - 海棠依旧大
  • 2026苏州卫生间免砸砖防水、楼顶漏水、外墙渗水、地下室阳光房渗漏;正规防水补漏公司免费上门,线上质保,售后无忧。房屋漏水不再愁,24小时一站式快速维修。 - 企业资讯
  • 2026 大连靠谱的卫生间防水补漏公司推荐 top5 推荐 - 防水资讯
  • 3个核心功能:d2s-editor暗黑破坏神2存档编辑器完全指南
  • 2026 上海靠谱的卫生间防水补漏公司推荐 top5 推荐 - 防水资讯

日新闻

  • 2026年不锈钢卷板厂家推荐排行榜:冷轧热轧/304/201不锈钢卷板,高颜值耐腐蚀源头厂家实力精选 - 企业推荐官【官方】
  • FLUX.1-dev FP8模型实战指南:24GB以下显卡高效部署方案
  • 2026佛山长途搬家价目表:跨省跨市搬家费用完整计算指南 - 从来都是英雄出少年

周新闻

  • 3步解锁iOS设备:applera1n激活锁绕过完全指南
  • 39 2026 人工智能证书终极盘点,普通人选 AI 证书可以从这些方向入手
  • Redis 暴露公网有多危险?从端口检查到补救步骤

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号