差分约束是把形如 ai - bi >= ci (ai - bi <= ci) 这类型的不等式组转化为为图, 然后求最长路(最短路)。
所以关键点是找出足够的约束关系来建图;
对于不等式ai >= bi + ci ,意思是所有的不等式都要满足这样子的形态, 那么我们建一条从bi->ai权重为ci的边,然后对整个图求最长路, 那么最终的结果就有ai >= bi +ci
这是根据最短路的性质。
同理,对于不等式 ai <= bi + ci,我们建一条从bi->ai权重为ci的边,然后对整个图求最短路,那么最终的结果就有ai <= bi +ci
虽然给了我们一些不等式条件,但是仍要我们去找出隐藏的不等式条件。 难就难在这里; 题解
题可能是不连通的,难点就是在不连通的图怎么求是不是有环, 还有就是这题最短路能过,最长路不能过。 题解
其实就是建图之后,做这些工作
如果图不连通怎么办
怎么判断最长路有正权环
怎么判断最短路有负权环
怎么判断不连通的图是不是有环