P9331 [JOIST 2023] 护照 / Passport
注意到问题等价于要走到 \(1\) 和 \(n\),不难想到用线段树优化建图。
考察最短路的状态,一定是同时走了一些边,然后再分开走,否则一定不如和在一起走。
先建反图跑出每个点到 \(1\) 和 \(n\) 的距离和,然后有多组询问,怎么办呢?我们将其作为点权倒着跑一遍多源最短路即可,做完了。
注意到问题等价于要走到 \(1\) 和 \(n\),不难想到用线段树优化建图。
考察最短路的状态,一定是同时走了一些边,然后再分开走,否则一定不如和在一起走。
先建反图跑出每个点到 \(1\) 和 \(n\) 的距离和,然后有多组询问,怎么办呢?我们将其作为点权倒着跑一遍多源最短路即可,做完了。