#3412. Shortest Path Queries 2

0

Shortest Path Queries 2

Shortest Path Queries 2

题目描述

在高桥王国有 NN 个城市和 MM 条道路。 城市编号为 11 到 NN,道路编号为 11 到 MM。道路 ii 是一条从城市 AiA_i 到城市 BiB_i 的单向道路,经过它需要 CiC_i 分钟。 我们定义 f(s,t,k)f(s, t, k) 为下述查询的答案。

计算从城市 ss 到城市 tt 所需的最短时间。这里,除城市 ss 和 tt 外,只允许经过城市 11 到 kk。如果城市 tt 无法到达或 s=ts = t,答案应为 00。

对于所有三元组 s,t,ks,t,k 计算 f(s,t,k)f(s,t,k) 并输出它们的和。更正式地,输出 $\displaystyle \sum_{s = 1}^N \sum_{t = 1}^N \sum_{k = 1}^N f(s, t, k)$。

输入格式

输入按下述格式从标准输入给出: NN MM A1A_1 B1B_1 C1C_1 ⋮\vdots AMA_M BMB_M CMC_M

输出格式

输出 $\displaystyle \sum_{s = 1}^N \sum_{t = 1}^N \sum_{k = 1}^N f(s, t, k)$。

3 2
1 2 3
2 3 2
25
3 0
0
5 20
1 2 6
1 3 10
1 4 4
1 5 1
2 1 5
2 3 9
2 4 8
2 5 6
3 1 5
3 2 1
3 4 7
3 5 9
4 1 4
4 2 6
4 3 4
4 5 8
5 1 2
5 2 5
5 3 6
5 4 5
517

提示

1≤N≤4001 \leq N \leq 400 0≤M≤N(N−1)0 \leq M \leq N(N-1) 1≤Ai≤N1 \leq A_i \leq N (1≤i≤M)(1 \leq i \leq M) 1≤Bi≤N1 \leq B_i \leq N (1≤i≤M)(1 \leq i \leq M) Ai≠BiA_i \neq B_i (1≤i≤M)(1 \leq i \leq M) 1≤Ci≤1061 \leq C_i \leq 10^6 (1≤i≤M)(1 \leq i \leq M) Ai≠AjA_i \neq A_j or Bi≠BjB_i \neq B_j, if i≠ji \neq j. 输入中的所有数值均为整数。满足 f(s,t,k)≠0f(s,t,k) \neq 0 的三元组 s,t,ks,t,k 如下。

对于 k=1k = 1:f(1,2,1)=3,f(2,3,1)=2f(1,2,1) = 3, f(2,3,1) = 2。 对于 k=2k = 2:f(1,2,2)=3,f(2,3,2)=2,f(1,3,2)=5f(1,2,2) = 3, f(2,3,2) = 2, f(1,3,2) = 5。 对于 k=3k = 3:f(1,2,3)=3,f(2,3,3)=2,f(1,3,3)=5f(1,2,3) = 3, f(2,3,3) = 2, f(1,3,3) = 5.
我们有 f(s,t,k)=0f(s,t,k) = 0 对所有 s,t,ks,t,k.

标签: AtCoder|abc208D

来源

AtCoder|abc208D