$\Large\mathscr{D}\mathcal{escription}$
有一个环,上面有 $1 - 4$ 号点,给出相邻两点之间的距离(无向边)。
小 $Q$ 要从 $2$ 号点出发并回到 $2$ 号点。他可以重复经过一条边,但不会在边上掉头(即会完整地走过一条边)。
现在小 $Q$ 给定你一个整数 $k$,他想知道在经过的路程不小于 $k$ 的情况下,最少需要经过的路程。
$\Large\mathscr{S}\mathcal{olution}$
由于 $k$ 比较大,我们考虑同余最短路。
因为最后要回到原地,所以我们选取 $d1 \times 2$ 和 $d2 \times 2$ 的较小值作为 $Base$ (一来一回)
因为存在掉头的情况,所以不好直接求得回到 $2$ 号点的 $Dis$ 值。
我们考虑用 $Dis_{i,j}$ 表示 从 $2$ 号点到第 $i$ 号点经过的路程 $mod$ $Base$ $=$ $j$ 的最小值。
然后就直接跑最短路就 $OK$ 了。
$\Large\mathscr{C}\mathcal{ode}$
1 |
|