一个有向图有 n 个点 m 条有向边,定义 di 为点 1 到点 i 的最短距离。
你要通过以下方法走边,求出每个从 s 开始能到达的点 i 的 di 的最小值 fs 是多少。
- 若有一条 i→j 的有向边,di<dj,可以从 i→j 无数次。
- 若有一条 i→j 的有向边,di≥dj,可以从 i→j 至多一次。
请注意,每个点 x 开始都可以至多走一次 di≥dj 的边。
请求出 f1∼n。
源码:
一个有向图有 $n$ 个点 $m$ 条有向边,定义 $d_i$ 为点 $1$ 到点 $i$ 的最短距离。
你要通过以下方法走边,求出每个从 $s$ 开始能到达的点 $i$ 的 $d_i$ 的最小值 $f_s$ 是多少。
- 若有一条 $i \to j$ 的有向边,$d_i<d_j$,可以从 $i \to j$ 无数次。
- 若有一条 $i \to j$ 的有向边,$d_i \ge d_j$,可以从 $i \to j$ **至多一次**。
请注意,每个点 $x$ 开始都可以至多走一次 $d_i \ge d_j$ 的边。
请求出 $f_{1 \sim n}$。