codeforces#P1715E. Long Way Home

    ID: 33150 远端评测题 3000ms 256MiB 尝试: 6 已通过: 2 难度: 10 上传者: 标签>data structuresdivide and conquerdpgraphsshortest paths

Long Way Home

以下题面由 AI 翻译。

题目描述

Stanley 居住在一个由 nn 个城市组成的国家(他住在城市 11)。城市之间有一些双向道路,已知每条道路的行驶时间。此外,每对城市之间有一个航班,从城市 uu 到城市 vv 的航班需要 (uv)2(u - v)^2 的时间。由于 Stanley 最近看了《萨利机长》,他对飞行非常恐惧,因此最多只能乘坐 kk 次航班。Stanley 想知道从城市 11 出发到每个城市的最小旅行时间。

输入格式

输入的第一行包含三个整数 nnmmkk2n1052 \leq n \leq 10^{5}1m1051 \leq m \leq 10^{5}1k201 \leq k \leq 20)——城市数量、道路数量和 Stanley 最多可乘坐的航班次数。
接下来的 mm 行每行描述一条道路,包含三个整数 uuvvww1u,vn1 \leq u, v \leq nuvu \neq v1w1091 \leq w \leq 10^{9})——道路连接的两个城市及行驶所需时间。注意,某些城市之间可能有不止一条道路。

输出格式

输出 nn 个整数,第 ii 个整数表示到达城市 ii 的最小时间。

样例数据

3 1 2
1 3 1
0 1 1

4 3 1
1 2 3
2 4 5
3 4 7
0 1 4 6

2 1 1
2 1 893746473
0 1

5 5 2
2 1 33
1 5 93
5 3 48
2 3 21
4 2 1
0 1 2 2 3

提示

第一个样例解释
到达城市 11 的时间为 00;到城市 22 可以乘坐一次航班(时间 11 单位);到城市 33 可以直接通过道路(时间 11 单位)。

第二个样例解释
到达城市 11 的时间为 00。到城市 22 的最佳方式是乘坐航班(时间 11 单位)。到城市 33 的路径是:从城市 11 乘车到城市 22(时间 33 单位),然后乘坐航班到城市 33。到城市 44 的路径是:先乘坐航班到城市 22,再乘车到城市 44(时间 55 单位)。


数据范围

  • 2n1052 \leq n \leq 10^{5}
  • 1m1051 \leq m \leq 10^{5}
  • 1k201 \leq k \leq 20
  • 道路时间 1w1091 \leq w \leq 10^{9}
  • 输入保证所有数值均为整数。