同余最短路是用来解决一类 ∑ i = 1 n a i x i ∈ [ L , R ] \sum_{i=1}^n a_ix_i\in[L,R] ∑i=1naixi∈[L,R] 问题的方法。
其中 L , R L,R L,R 值非常大,而 n n n 不是很大,大概是接受 O ( n 2 ) O(n^2) O(n2) 的范围, x i x_i xi 是自定义的系数。
先差分一下,变成 ∑ i = 1 n a i x i ∈ [ 0 , R ] − ∑ i = 1 n a i x i ∈ [ 0 , L − 1 ] \sum_{i=1}^na_ix_i\in [0,R]-\sum_{i=1}^na_ix_i\in [0,L-1] ∑i=1naixi∈[0,R]−∑i=1naixi∈[0,L−1]。
我们选中其中 a i a_i ai 最小的作为标准 a 0 a_0 a0。
显然,每个数都能表示成 x a 0 + r xa_0+r


1652

被折叠的 条评论
为什么被折叠?



