差分约束 学习笔记
差分约束算法,是用来解决一些形如 \(x_i - x_j \le c\) 的不等式组的一组解的算法。
前置知识:最短路、最长路
注意到可以将\(x_i - x_j \le c\) 转化为 \(x_i \le x_j +c\)
长得非常像最长路中的判断松弛的语句\(dis_i \le dis_j +c\)
于是可以转化一下:
建图,从节点\(j\)向节点\(i\)连接一条权为\(c\)的边,然后随便从一个点开始,最长路为0,求最长路就OK了
当然,如果有正环,就代表无解
妙啊!
我好菜啊。——ฅ(OωO)ฅ