最短路学习笔记
同余最短路
题意:
你可以采用以下四种方式移动:
- 向上移动 \(x\) 层;
- 向上移动 \(y\) 层;
- 向上移动 \(z\) 层;
- 回到第一层。
现在你在第一层,求你可以去到的楼层数
solution
发现 \(h\) 很大,且推不出时间复杂度可以过关的式子,所以数论卒。
发现每一次执行操作时,都可以到达当前点 + \(x\) 或 \(y\) 或 \(z\)。
于是可以用最短路搞,但是 \(h\) 太大最短路跑不动也存不下。
考虑一种神奇的取模运算。
发现只需要把 \(\mod x\) 的值存下来,统计答案时在统计 \(\mod x\) 同余的楼层一起计算。

浙公网安备 33010602011771号