差分约束系统

31 篇文章 0 订阅
19 篇文章 0 订阅

这里写图片描述

差分约束

有什么L用?

差分约束系统属于线性规划问题。在一个差分约束系统中,线性规划矩阵A的每一行包含一个1和一个-1,A的所有其他元素都为0。因此,由Ax≤b给出的约束条件是m个差分约束集合,其中包含n个未知元。

以上属于没有L用的P话

如果一个辣鸡系统由n个变量 a1...an 和m个约束条件组成,约束条件的形式是全为 aiajk 或全为 aiajk 的不等式,则称其为差分约束系统。亦即,差分约束系统是求解关于一组变量的特殊不等式组的方法。

简单的说,用于求一组形式是全为 aiajk 或全为 aiajk 的N元不等式组的一组解.

这个不等式组要么无解,要么就有无数组解,每个 ai 都+k,这个不等式组还是成立,因为差是不变的啊~

怎么搞

我们要借助图来解决这个问题
定理:
即对于任何一条边u -> v,都有:
d(v)d(u)+w(u,v)
其中d(u)和d(v)是从源点分别到点u和点v的最短路径的权值,w(u, v)是边u -> v的权值。

aiajk 移一下项,得 aik+aj
然后发现 d(i)d(j)+w(j,i) 这个关系和 aik+aj 恰好是吻合的,只要我们将他转化为一个图,使得k=w(j,i),ai和d(i)就是对应的! 这样我们就求出最短路,就相当求出一组解了!

怎么使得k=w(i,j)呢?
若有约束 aik+aj 即连边aj -> ai,边权为k,求最短路

当然我们也可以有大于等于形式的约束 aik+aj ,即连边aj->ai,边权为k,求最长路
(其实就是上面的定理变一下形)

求最短路的话,需要一个源点,手动加一个虚点a0向每个点连一条为0的边就可以了,保证连通.
这里写图片描述
若图中存在相对的”负权”回路1,则该差分约束系统显然不存在可行解。

注意

一般只有题中显然的条件是不够的,需要自己挖掘一下隐含条件

参考资料

http://blog.csdn.net/xuezhongfenfei/article/details/8685313


  1. 对于最短路是负权,最长路是正权
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值