Halum操作-UVA 11478

Posted 大米饼

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Halum操作-UVA 11478相关的知识,希望对你有一定的参考价值。

·英文题,述大意:
      输入有向图一个(什么边的端点啊,边权啊)。每次可以选择一个节点和一个整数,然后把这个结点的出边边权加上该整数,入边边权减去该整数,目标:使得所有边的最小值非负且尽量大。

·分析:

      修改结点周围的边权,题目中既没有限制次数,也没有规定在意先后顺序,这启示我们,每一个操作的效果是可以叠加的(同时就不分先后),所以可以将题目简化为:每一个节点只用一个整数操作一次。

      差分约束的思想运用:如果我们设num(u)表示给节点u施加的那个整数值。则对于有向边(u,v)(权值为W),那么最终该边的边权为:

        W‘=W+num(u)-num(v)

读题目最后一句话,可以体会到这是一个美妙的二分。如果当前二分的值是X,表示最小边权。那么对于每一条边,都满足这个式子:

        W+num(u)-num(v)>=X

=>   num(v)-num(u)<=W-X

由于W-X在此时为定值,设P=W-X那么这些不等式都可以统一描述为:左边小于等于右边,左边两个节点信息之差,右边是一个定值。

扭一扭,泡一泡:那么原式为:num(v)<=num(u)+P

·然后这和最短路的if()中的东西是一样的,所以用这些元素依葫芦画瓢地建图(奥,这道题是帮你建好了的……)如果当前二分的X不符合条件,会出现什么情况————出现负环。

·为什么是出现负环就代表所有不等式不能全部成立呢?

以上是关于Halum操作-UVA 11478的主要内容,如果未能解决你的问题,请参考以下文章

UVA-11478 Halum二分差分约束

UVA11478 Halum [差分约束系统]

训练指南 UVA - 11478(最短路BellmanFord+ 二分+ 差分约束)

UVA 11478 bf+差分约束系统+二分逼近

uva12538

UVA101 The Blocks Problem