当前位置: 首页 > news >正文

洛谷 P4694

洛谷 P4694

一个比较显然的网络流建模。如图所示用 \((流量,费用)\)表示一条边,增广 \(k\) 次的费用就是答案。

image

然后就是模拟费用流的部分。这种只有一条链的图(去掉 \(s, t\))是比较经典的。因为它只有两种流法。(如下图)

image

正着流没有什么限制,只需要与 \(s, t\) 相连的边有流量即可。相当于选 \(i \le j\)\(a_i, b_j\) 都没被选,然后选它们。直接用线段树维护区间 \(mina, minb\) 和答案即可。

反着流就麻烦一些,相当于选 \(i \ge j\),然后选 \(a_i, b_j\),但是要求 \(i \rightarrow j\) 都有流量(即 \(j \rightarrow i\) 的正向边都流过了)。看起来也可以用线段树维护 \(> 0\) 的连续段做,就是类似最大子段和一样的维护区间右端的极长 \(b\) 最小值 ,和区间左端极长 \(a\) 最小值 。

但是一增广就炸了,增广其实就是将某个区间的流量都 \(+1/-1\),但是线段树就无法维护 \(> 0\) 的段了。这有一个小 trick,就是线段树维护 \(>\) 当前区间最小值 的连续段,合并时如果一边的最小值大于另一边,那么这一段都是可流的,所以同时像正流一样维护没有限制时的答案即可。

记得在维护值的同时还要维护下标。

时间复杂度:\(O(n \log n)\)

这种图时一条链的,还有很多变种,如流量是有限的,链上边有费用等,都可以用线段树模拟。

http://www.jsqmd.com/news/661560/

相关文章:

  • Amlogic S9xxx系列设备Armbian系统深度解析与实战指南
  • 如何一键获取蓝奏云直链:告别繁琐下载流程的终极指南
  • 2026年优质内饰改装实力厂家大盘点,快来了解,内饰改装/真皮包覆/座椅升级,内饰改装品牌口碑推荐 - 品牌推荐师
  • 在Firefly RK3588J上,用OpenCL给OpenCV图像处理加速,CPU占用率直降10%
  • 【万字文档+PPT+源码】基于springboot+vue在线学习平台-计算机专业项目设计分享
  • 保姆级教程:用OpenCV搞定鱼眼双目相机的标定与测距(附完整C++代码)
  • Node-Cache 测试策略与覆盖率:确保缓存可靠性的完整方法
  • 从冲激响应到频响曲线:如何用系统思维理解信号处理
  • 二维码检测又卷出新方向:如何在一张图里稳定读取几十甚至上百个二维码?
  • Pixel Couplet Gen 电路设计联动:使用Proteus仿真呈现“数字春联”显示电路
  • Windows上安装Android应用的终极指南:APK Installer完整教程
  • PPTAgent完整教程:如何用AI在5分钟内制作专业演示文稿
  • Windows 10/11 上安装 Android 应用的完整指南:告别模拟器,拥抱原生体验
  • 医疗领域AI大模型知识图谱问答系统
  • Sketch 终极指南:Android 上最强大的图片加载库完全解析
  • 大模型训练实战(4)——vLLM 为什么突然成了大模型部署圈的“标配”?一篇讲透原理、性能和实战
  • db-migrate错误处理与调试:常见问题排查完全指南
  • 保姆级教程:用Miniconda在Jetson Xavier NX上为YOLOv8搭建纯净Python 3.8 + PyTorch 2.0.0环境
  • 3分钟解锁B站缓存视频:m4s-converter帮你一键转换MP4格式
  • Gemma多模态推理:图像、视频、音频的智能处理终极方案
  • mCaptcha性能优化技巧:应对高并发场景的10个最佳实践
  • ALNS算法调参实战:如何让Python版VRPTW求解器效率提升50%?
  • iTermocil YAML配置详解:从基础语法到高级选项
  • 锁定放大器不止于AD630:聊聊ADA2200的可编程方案与电赛中的选型思考
  • 如何用vuegg快速创建响应式布局:支持手机、平板、网页多设备预览
  • 避坑指南:Python模拟抖音扫码登录时,那些你可能会遇到的‘Referer’和‘Token’校验问题
  • LeagueAkari:英雄联盟终极客户端工具包完整使用指南
  • easyXDM与CORS集成:构建高效跨域AJAX请求系统的完整指南
  • PyQuery vs BeautifulSoup:哪个才是Python网页爬虫的最佳选择?
  • 抖音去水印下载器:如何用Python实现高效批量下载的3个核心技术突破