差分约束
差分约束 hhh,这几天病毒感染,真的不敢乱溜达,干脆狂写blog算了,hhh 一般形式 差分约束题一般是给出大量的一些不等式 a i − b i ≤ x → a i ≤ x + b i a_i-b_i\leq x \rightarrow a_i\leq x + b_i a i − b i ≤ x → a i ≤ x + b i 由上面这个不等式我们应该可以联想到最短路的不等式 d i s [ u ] ≤ d i s [ v ] + x ( u → v ) dis[u]\leq dis[v] + x(u \rightarrow v) d i s [ u ] ≤ d i s [ v ] + x ( u → v ) 因此,我们可以将差分约束化成一个最短路来求,我们的 d i s [ u ] dis[u] d i s [ u ] 保存由远点到 u u u 的可以选择的最大范围! 为什么是最大范围? 我们每一次选择的是 m i n ( u → v ) min(u \rightarrow v) m i n ( u → v ) ,那么一开始我们就会选择一个从原点 s s s 出发的最小范围,且没有其他路径会使她变得更小(三角形),那么这个由原点出发的长度将会是 s → u s \rightarrow u s → u 的范围,选择最大的话,就是这个范围啦。 求最长路