本文目录#
问题定义#
在给定容量与单位费用的网络中,寻找满足最大流量的同时总费用最小的流。广泛用于任务分配、费用管理、循环流问题。
常用算法#
- SPFA + Bellman-Ford:简单实现,适合小规模;
- Dijkstra + Potentials (Johnson):适合非负边,复杂度 O(FE log V);
- Cost Scaling:更高效但实现复杂。
代码框架(Dijkstra + 潜在函数)#
1 | class MinCostMaxFlow { |
自检清单#
- 是否处理负费用(通过潜在函数)并避免负环?
- 是否考虑容量、费用可能超出
int
范围使用 long? - 是否针对大规模问题选择更高效算法?
参考资料#
- CP-Algorithms Min Cost Flow:https://cp-algorithms.com/graph/min_cost_flow.html
- CLRS Chapter 29 Network Flow
- Stanford CS97SI 课程
本作品系原创,采用知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议进行许可,转载请注明出处。