差分约束系统

来源:互联网 发布:java生成四位随机数 编辑:程序博客网 时间:2024/04/27 22:55

这个名字似乎很串?

啊?差分约束是什么,我不会!






NONONO,这玩意其实就一个最短路

已知:bak1,cbk2,cak3
ca的最大值

随便手算一下,结果是min(k1+k2,k3)
如果我们画一个图
这里写图片描述

?!?!

就是最短路,你没有看错!

对于一些约束xyz,询问是否有解或者说询问某两个点的最大差距(对于最小差距的我只说乘个-1就好了)

对于每一条路径,最后得到的差距的最小值,一定是符合要求的最大值(即所有约束综合起来的边界)

所以说,跑一边最短路就好

然而有时会出现负权边,所以建议使用sp(b)fa

完了?就这么水??





还真就是这么水

放一道例题(其实是我从某道题截取的一部分)

有一个由0和1组成的序列
现在,给你M个提示。[x,y,z]表示区间[x,y]有多少个1
求每个元素的值(保证有唯一解)

题解:

链接里面有答案 自己YY!

0 0