loj#P6493. graph

    ID: 17475 传统题 1000ms 256MiB 尝试: 0 已通过: 0 难度: (无) 上传者: 标签>数据结构图论最小生成树单调队列笛卡尔树 / Kruskal 重构树瓶颈路

graph

题目描述

给定一张 nn 个点,mm 条边的无向图,边有边权,每一个点都有一种颜色 cic_{i}

一个友好点对是指一个无序点对其为两个点的颜色差 L\geq L

两个点之间的最短路径定义为最小的权值 dd 使得存在一条只经过权值 d\leq d 的边的路径。

求所有友好点对之间最短路径之和。

输入格式

输入的第一行给出三个数,即上述的 n,m,Ln, m, L

接下来一行有 nn 个数,表示每一个点的颜色 cic_i

接下来 mm 行表示每条边,每行将给出三个数 ui,vi,wiu_i, v_i, w_i,表示点 uiu_i 和点 viv_i 之间有一条长为 wiw_i 的边。

保证整张图连通。

输出格式

输出一个数,表示所有友好点对之间的最短路径之和。

4 5 2
6 4 5 2
1 2 8
2 3 7
2 4 8
1 3 2
1 4 1
17

数据范围与提示

1n2000001 \leq n \leq 200000

1m4000001 \leq m \leq 400000

1wi,L108,0ci1081 \leq w_i, L \leq 10^8,0\le c_i\le 10^8