差分约束总结

差分约束其实主要靠思想

一、概念(就当这是放屁)

给你提供几个要满足的条件,然后询问满足条件的情况,差分约束就是通过构造图之类的东西来优化暴力,成为AC代码……

二、大概理解

1.给定很多个条件:形如  ai - aj <= k  。

我们试图转换一下: ai <= aj + k  。(差不多是废话)

但是,有没有觉得这个式子有点眼熟,没错,就是最短路

2.把ai看作i到1的最短路径长度,那么为了约束住 ai <= aj + k 的条件,我们在i,j中间连一条长为k的边即可(仔细思考一下就懂了)

 为什么一定符合呢,最短路的知识可以完美解释(要么ai已经变得比 aj + k 小了,不然就可以被其更新为最短路,所以如果在这个图上跑最短路,结果无论如何都会符合)

3.有各种各样的约束条件,因题而变,我只是举个例子

三、题目

题目的话,我已经懒得不想加链接了,所以去我专题里看吧……(其实也很少!)

猜你喜欢

转载自www.cnblogs.com/cjoierljl/p/9107781.html