prologue
都快 csp-s 了还啥也不会的废柴一根,真不知道能不能进队(痴人说梦)。
main body
同余最短路的适用题型
当出现形如「给定 n 个整数,求这 n 个整数能拼凑出多少的其他整数(n 个整数可以重复取)」,以及「给定 n 个整数,求这 n 个整数不能拼凑出的最小(最大)的整数」,或者「至少要拼几次才能拼出模 K 余 p 的数」的问题时可以使用同余最短路的方法。
看到上述的问题,其实很像完全背包,但是你如果开个完全背包很容易就 MLE 喜提0pts 的好成绩,所以我们考虑出来的一种优化方法,优化掉空间,从而实现大跃进( 0pts -> 100pts
同余最短路的通见转移形式
通常我们面对一个题目可以推出来如下的式子:
\[f_{i + y} \gets f_i + y \]我们很容易类比到单源最短路。(哪里容易,要不是学了我能想到这?)