atcoder#ABC208D. [ABC208D] Shortest Path Queries 2

[ABC208D] Shortest Path Queries 2

配点 : 400400

問題文

高橋王国には NN 個の都市と MM 本の道路があります。

都市には 11 から NN の番号が、道路には 11 から MM の番号が割り振られています。道路 ii は都市 AiA_i から BiB_i へ向かう一方通行の道で、移動するのに CiC_i 分かかります。

f(s,t,k)f(s, t, k) を次のクエリへの答えとして定めます。

  • 都市 ss を出発して都市 tt に到着するまでの最短時間を計算してください。ただし、通ってよい都市は s,ts, t および番号が 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)$ を出力してください。

制約

  • 1N4001 \leq N \leq 400
  • 0MN(N1)0 \leq M \leq N(N-1)
  • 1AiN1 \leq A_i \leq N (1iM)(1 \leq i \leq M)
  • 1BiN1 \leq B_i \leq N (1iM)(1 \leq i \leq M)
  • AiBiA_i \neq B_i (1iM)(1 \leq i \leq M)
  • 1Ci1061 \leq C_i \leq 10^6 (1iM)(1 \leq i \leq M)
  • iji \neq j ならば AiAjA_i \neq A_j または BiBjB_i \neq B_j である。
  • 入力は全て整数である。

入力

入力は以下の形式で標準入力から与えられる。

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

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
3 0
0

全ての s,t,ks,t,k に対して f(s,t,k)=0f(s,t,k) = 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