约束rmq_差分约束

它们的差是不变的,

那么这个差分

约束系统中的所有不等式都不会被破坏。

差分约束系统的解法利用到了单源最短路径问题中的三角形不等式。

即对于

任何一条边

u -> v

,都有:

d(v)

<=

d(u)

+

w(u,

v)

其中

d(u)

d(v)

是从源点分别到点

u

和点

v

的最短路径的权值,

w(u, v)

是边

u -> v

的权值。

显然以上不等式就是

d(v) - d(u) <= w(u, v)

。这个形式正好和差分约束

系统中的不等式形式相同。于是我们就可以把一个差分约束系统转化成一张图,

每个未知数

Xi

对应图中的一个顶点

Vi

,把所有不等式都化成图中的一条边。对

于不等式

Xi - Xj <= c

,把它化成三角形不等式:

Xi <= Xj + c

,就可以化成

Vj

->

Vi

,权值为

c

。最后,我们在这张图上求一次单源最短路径,这些三角

形不等式就会全部都满足了,因为它是最短路径问题的基本性质嘛。

话说回来,

所谓单源最短路径,

当然要有一个源点,

然后再求这个源点到其

他所有点的最短路径。

那么源点在哪呢?我们不妨自已造一个。

以上面的不等式

组为例,我们就再新加一个未知数

X0

。然后对原来的每个未知数都对

X0

随便加

一个不等式

(这个不等式当然也要和其它不等式形式相同,

即两个未知数的差小

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值