逆向驿路

提高+/省选- CSP-S 分层图、最短路 模拟赛 原创

题目描述

有 $n$ 个驿站和 $m$ 条单向道路,第 $i$ 条道路从 $u_i$ 到 $v_i$,通行时间为 $w_i$。

从 $1$ 号驿站出发前往 $n$ 号驿站。你最多可以使用 $k$ 次逆向通行:对于一条原本从 $u$ 到 $v$ 的道路,可以从 $v$ 到 $u$ 通行一次,花费仍为该道路时间。普通顺向通行次数不限。

求到达 $n$ 号驿站的最短时间,若无法到达输出 $-1$。

输入格式

第一行输入三个整数 $n,m,k$。接下来 $m$ 行,每行三个整数 $u,v,w$,表示一条从 $u$ 到 $v$、时间为 $w$ 的单向道路。

输出格式

输出一个整数,表示最短时间;若无法到达,输出 $-1$。

数据范围

$1 \le n \le 2\times 10^5$,$0 \le m \le 3\times 10^5$,$0 \le k \le 6$,$1 \le w \le 10^9$。

样例输入 1

3 2 0
1 2 5
2 3 6

样例输出 1

11

样例输入 2

3 2 1
2 1 4
2 3 7

样例输出 2

11
时间限制: 2000ms
内存限制: 256MB
通过率: 100.0%
提交数: 1

设置

导航栏小工具

时钟
显示实时时钟(默认组件)
📝
代码粘贴板
快速创建和分享代码片段