1 条题解

  • 1
    @ 2023-5-12 21:02:56

    注意到我们可以预处理出每个节点走一步能到达的点,显然不会超过 44 个。

    fl,r,x,yf_{l,r,x,y} 为把 lrl\sim r 合并且最终到达 (x,y)(x,y) 的最小步数,当做到一个 (l,r)(l,r) 时进行区间 dp,然后 bfs 更新当前所有 ff 值。

    这样就可以 O(n2whlog(wh))O(n^2wh\log(wh)) 了,其中 log\log 因子来自于 bfs 前的排序:为了保证 bfs 遍历每个点恰好一次,需要先排序,当队列内最短路到达了当前值时再把该点入队。

    参考代码

    • 1

    信息

    ID
    3205
    时间
    750ms
    内存
    128MiB
    难度
    9
    标签
    (无)
    递交数
    14
    已通过
    3
    上传者