bzoj#P2750. [HAOI2012]Road

[HAOI2012]Road

题目描述

C 国有 nn 座城市,城市之间通过 mm 条单向道路连接。

一条路径被称为最短路,当且仅当不存在从它的起点到终点的另外一条路径总长度比它小。

两条最短路不同,当且仅当它们包含的道路序列不同。

我们需要对每条道路的重要性进行评估,评估方式为计算有多少条不同的最短路经过该道路。

现在,这个任务交给了你。

输入格式

第一行包含两个正整数 n,mn,m
接下来 mm 行每行包含三个正整数 u,v,wu,v,w,表示有一条从 uuvv 长度为 ww 的道路。

输出格式

输出应有 mm 行,第 ii 行包含一个数,代表经过第 ii 条道路的最短路的数目对 109+710^9+7 取模后的结果。

4 4
1 2 5
2 3 5
3 4 5
1 4 8
2
3
2
1

数据规模与约定

对于 30%30\% 的数据,n15n \leq 15m30m \leq 30
对于 60%60\% 的数据,n300n \leq 300m103m \leq 10^3
对于 100%100\% 的数据,n1.5×105n \leq 1.5\times 10^5m5×103m \leq 5\times 10^3w103w \leq 10^3