\[\Large \rm 算法简介 \]
\(\quad\)差分约束算法是用来解形如 \(x_1-x_2\leqslant k\) 的若干个方程。
\(\quad\)我们发现可以将方程移项成 \(x_1\leqslant x_2+k\),解方程的时候考虑建图,从 \(x_2\) 向 \(x_1\) 连一条长度为 \(k\) 的边,然后对这张图建一个超级源点,向所有点连一条长度为 \(0\) 的边,最后跑最短路得出的 \(dis\) 就是每个点的一个取值。
\(\quad\)同时,如果有负环则无解。
\(\quad\)时间复杂度 \(\Theta(\rm SPFA).\)
\(\quad\)需要注意的是,最短路求的是以起始点为基准的最大解,而最长路求的是以起始点为基准的最小解。