
网络流(最小费用最大流)
文章平均质量分 75
林伏案
妖蛾子良多的范老爷
展开
-
uva1658
题目描述:http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=51253/*solution: 跟原来模板不同的是要求不能重复访问节点,所以要用到拆点法,将2~v-1的每个结点拆成i和i‘两个点 中间用容量为1费用为0的边连接起来。然后求1~v的流量为2的最小费用即可note: 拆点法date: 2原创 2016-04-25 23:36:40 · 397 阅读 · 0 评论 -
hdu4411(#最小费用流)
/*translation: n个城市,从0出发,要遍历所有得城市。在访问城市i之前必须已经访问完所有j(j<i)得城市。现在最多有k 个人,求这k个人遍历完所有的城市所走的最小距离。solution: 最小费用流 添加源点、汇点。源点和0之间添加容量为k,费用0的边。0和汇点添加容量k,费用0的边(因为不必k个人全都用) 将每个点拆成i、i+n。i、i原创 2017-02-19 16:38:37 · 265 阅读 · 0 评论 -
poj3680(*最小费用流)
/*translation: 见小白书p246solution: 最小费用流 对于一个区间,在a,b之间连上一条容量1,费用w的边,表示选中这个得到w。区间内部点之间i,i+1之间连上一条 容量无穷,费用0的边。每个a与s相连,容量1,费用0。每个b同理。这样建图之、后跑最小费用流即可。note: **/#include #include #inclu原创 2017-02-19 22:30:57 · 712 阅读 · 0 评论 -
poj2135(*最小费用最大流)
/*translation: 给出一张图,求从1~n再从n~1的最短路径是多少?注意同一条路径不能走两次!solution: 最小费用最大流 这个问题可以转化为求2条从1~n不相交的路径,进而就是直接求从1~n的流量为2的最小费用流。note: * 本质上是求从1~n的流量为2的最小费用流 # 不能直接用两次dijkstra来求。(将第一次走过的路删掉原创 2017-02-11 10:46:46 · 2274 阅读 · 2 评论 -
poj3686(*最小费用流-转化成普通指派问题)
/*translation: 有n个订单要交给m个工厂完成。给出每个订单在每个工厂的完成时间。求一个最佳方案使得完成所有订单的平均时间最短。solution: 最小费用最大流 如果每个工厂只能完成一个订单的话,那就是指派问题了。跑一遍最小费用流即可。但是题目每个工厂可能完成多个。 所以需要将其拆点使得每个工厂只能完成一个订单,进而转换成指派问题。对一个工厂来说,原创 2017-02-11 12:36:49 · 1260 阅读 · 0 评论 -
poj3422(*最小费用流)
/*translation: 一张图的每个坐标上都有一些数字,现要从左上角走到右下角,只能往右或者往下。每一步的得分会在原有 基础上加上坐标上的数字。并且之后把该坐标上的数字清零。求上述过程重复k次之后得分最大值是多少?solution: 最小费用流 很明显只要做一遍容量为k的最小费用流即可。但是难点在于如何满足条件:一个点可以走多次,但是值只能 算一次原创 2017-02-12 17:39:52 · 413 阅读 · 0 评论 -
hdu4780(*最小费用流)
/*translation: M台机器要生产n个糖果,遵循如下规则: 1.糖果i的生产区间在(si, ti),花费是k*(pi-si),pi是实际开始生产的时间 2.机器j从初始化到生产糖果i所需的时间Cij,花费是Dij 3.任意机器从生产糖果i到生产糖果j,需花费时间Eij,花费Fij 求生产完所有糖果所需的最小时间?solution: 最小费用流note: * 从s到每个原创 2017-02-21 16:51:35 · 408 阅读 · 0 评论 -
hdu4322(*最小费用流)
/*translation: n颗糖果,m个孩子。每个孩子有若干个自己喜欢的糖果。一旦这个孩子得到一颗自己喜欢的糖果,这个孩子的欢乐值上升k。如果 得到一颗普通的糖果,欢乐值上升1,一旦孩子的欢乐值达到b[i],这个孩子就很开心。问能否有一种分配方法,使得所有的孩子 开心?solution: 网络最小费用流note: * 由于边费用1的不好处理,所以可以i先处理边费用为k的,再上面原创 2017-02-21 16:52:32 · 415 阅读 · 0 评论