题解:P13096 [FJCPC 2025] 难以控制的滑板火箭
整体思路上,可以先用分层广搜枚举纯步数,再把步数批量打包成分钟即可。
广搜部分:把每个格子拆成偶步状态和奇步状态两层,状态记作 \((x,y,p)\),其中 \(p\in\{0,1\}\) 表示到达该点时累积步数的奇偶性。起点是 \((1,1,0)\)。每走一步,奇偶性翻转,于是同层只能连到另一层。这样跑一次普通队列广搜,便能得到两张距离表 \(d_0,d_1\),分别是以偶步、奇步结束到达 \((n,m)\) 的最短步数;不可达点距离视为 \(\infty\)。
接下来把纯步数折算成分钟。设路径长度为 \(x\)。若 \(l\ne r\),显然每分钟尽量走满 \(r\) 步最优,所需分钟数就是 \(\lceil x/r\rceil\)。若 \(l=r\),一分钟只能走固定的 \(l\) 步,此时需判断能否恰好凑整:先算出 \(k=\lceil x/l\rceil\),若 \(l\) 为奇数则分钟数奇偶性与步数奇偶性要匹配;若 \(l\) 为偶数则只有当 \(x\) 为偶数时才可能恰配,否则永远无法到达。对 \(d_0,d_1\) 分别套这个折算公式取最小值即可;若两种距离都是 \(\infty\),答案为 \(-1\)。
时间复杂度 \(O(nm)\)。
拓展练习:CF2109D D/D/D

浙公网安备 33010602011771号