差分约束 学习笔记

差分约束算法,是用来解决一些形如 \(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了

当然,如果有正环,就代表无解

妙啊!

posted @ 2020-06-11 19:40  ฅ(OωO)ฅ  阅读(106)  评论(0)    收藏  举报
"scale": 1 }, "display": { "position": "left", "width": 100, "height": 200, "hOffset": 70, "vOffset": 0 }, "mobile": { "show": true, "scale": 0.5 }, "react": { "opacityDefault": 0.7, "opacityOnHover": 0.2 } }); window.onload = function(){ $("#live2dcanvas").attr("style","position: fixed; opacity: 0.7; left: 70px; bottom: 0px; z-index: 1; pointer-events: none;") } -->