-
算法简介
差分约束系统是一种特殊的n元一次不等式,包含n个变量,以及m个约束条件,每个约束条件由两个变量做差构成的,形如:
, 其中
是常数,
常规约束条件为:,可变形为
,和最短路进行更新扩展的不等式很相似
因此可以把每个变量看作一个节点
,对于每个约束条件,从
向
连一条边权为
的边
感性理解,在跑最短路时,会按照变形后的不等式扩展。符合条件
若图中存在负环,则给定差分约数系统无解,否则就是满足条件的一组解
在如上不等式为小于等于形式跑最短路,因为得到一组解后,不论加几都满足条件,求最短即可
同时若为不等号朝右的形式,改为计算单源最长路