分层图+dijkstra,设 fuf_ufu 表示到点 uuu 最小时间,转移:f[v]=min(f[v],(f[u]>=a[i]?f[u]:(a[i]-f[u]+k-1)/k*k)+1)。这里是按 %k\%k%k 分层后的。
f[v]=min(f[v],(f[u]>=a[i]?f[u]:(a[i]-f[u]+k-1)/k*k)+1)