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

洛谷 P6122

洛谷 P6122

模拟费用流

首先建模是比较简单的,\(s\) 向每个鼠的位置连一条流量为 \(1\),费用为 \(0\) 的边,每个点向 \(t\) 连一条流量为 \(c_i\),费用是 \(0\) 的边,树上的边直接连双向边,流量为 \(+\infty\),费用为 \(1\)。跑最小费用最大流即可。

模拟费用流模拟的是求最短路的过程,然后单路增广。

假设当前鼠的位置为 \(u\),一定是先向上走到某个点 \(lca\),再向下走到 \(v\),进而走到 \(t\)。因为树高只有 \(O(\log n)\),可以直接枚举 \(lca\),求出 \(u \rightarrow lca\) 的代价。所以只需要找到从 \(lca\) 出发花费最小代价能到达的 \(v\)\(v, t\) 之间还有流量。

这个可以直接使用 DP 维护,令 \(dp(u)\) 表示上面说的东西,那么 \(dp(u)\) 可以从 \(dp(2u), dp(2u + 1)\) 转移,当然如果 \(u, t\) 之间有流量就是 \(0\)

这里说一下如何求走一条路径的代价。对与一条路径上的每条边,计算经过它的代价。因为有反悔边的存在,代价并不是 \(1\),而是 \(1/-1\)。具体的假设从上往下走,如果此前这条边从上往下走的次数少于从下往上走的次数,那么就进行反悔,代价为 \(-1\),否则就是 \(1\)。从下往上走同理。所以只需要维护这条边走的次数 \(c(e)\) 即可。

找到代价最小的路径后增广,修改沿途中的 \(c(e)\),同时维护 \(dp(u)\)(只需要更新 \(u, v\) 到根的)即可。

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

模拟费用流一般难点不在于建模,而是找出最短路

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

相关文章:

  • 数学建模到底有什么用?
  • Rest.li代码生成器详解:如何自动生成数据绑定和客户端代码
  • 如何扩展MVVM架构:添加新功能与模块化设计的终极指南
  • 2026/4/11 leetcode 3741
  • 无需外部设备的IMU标定方法:Matlab实现与原理详解
  • karpenter通过多个 NodePool + 标签调度实现“分布调度”
  • [BKC01]命令行基础知识
  • rasterizeHTML.js API完全手册:从drawHTML到drawURL的完整使用指南
  • SUPER COLORIZER创意作品展:基于经典文学场景的视觉化色彩演绎
  • .NET 诊断技巧 | 日志框架原理、手写日志框架学习碳
  • i.MX6ULL接OV2640摄像头踩坑记:从硬件改线到内核补丁的完整排错流程
  • Swift高性能计算终极指南:Surge库快速入门教程
  • GitFS故障排除:常见问题诊断与日志分析终极指南
  • 2026年4月好用的纵剪分条机厂商哪里有卖,优秀纵剪分条机定制厂家瑞达机械满足多元需求 - 品牌推荐师
  • AzurLaneAutoScript:碧蓝航线自动化脚本终极指南 - 如何实现全自动委托科研与大世界探索
  • Fixer性能优化指南:如何配置Unicorn服务器获得最佳响应速度
  • ROFL播放器终极指南:免费开源工具轻松分析英雄联盟回放数据
  • 长芯微LDC2228完全P2P替代LTC2228,是 12 位、65Msps/40Msps/25Msps、低功率 3V A/D 转换器,专为高频、宽动态范围信号进行数字化处理而设计。
  • 快速体验Qwen3-ASR-0.6B:上传音频文件,一键识别文字
  • 南麟LN1173 低压差LDO线性稳压器芯片
  • 汇编指令与机器码速查手册:从基础到实战应用
  • 2026年4月注塑模具实力厂家口碑推荐,精密注塑模具/电气接插件注塑件/连接件注塑件/塑胶模具,注塑模具厂家口碑推荐 - 品牌推荐师
  • Harmonyos在语文教学中应用-9. 辨音挑战赛(对应:jqx)
  • 基于File-Based App开发MVP项目咆
  • NaViL-9B图文问答入门:支持‘读取文字→分析颜色→总结布局’链式指令
  • 推荐系统基础:协同过滤算法
  • Go语言的runtime.SetCPUProfileRate
  • frpc-desktop性能优化指南:让内网穿透更稳定高效
  • 算法竞赛用模板总索引
  • Phi-4-mini-reasoning从零开始:5分钟完成Web服务部署与健康检查