/ Vijos / 题库 /

树的分治

树的分治

时间限制:1秒  内存限制:256M


【题目描述】

  给定一棵 \(N\) 个节点的带权树,定义 \(dist(u,v)\) 为 \(u,v\) 两点间的最短路径长度,路径的长度义为路径上所有边的权和。再给定一个 \(K\),如果对于不同的两个结点 \(a,b\),如果满足 \(dist(a,b)≤K\),则称 \((a,b)\) 为合法点对。
  你的任务是求合法点对个数。

【输入格式】

  第一行包含两个个整数 \(N\) 和 \(K\),接下来的 \(N-1\) 行,每行包含三个整数:\(u,v,len\),表示树边 \((u,v)\) 的长度\(len\)。

【输出格式】

  一个整数,表示合法点对的数目。

【输入输出样例1】

 Input

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

 Output

8

【数据限制】

  对于 \(20\%\) 的数据,\(1≤N≤100000\),\(1≤K≤10^9\),\(1≤len≤10000\)

【来源】

  Mr.he

信息

ID
2113
难度
(无)
分类
树结构 | 树的分治 点击显示
标签
(无)
递交数
0
已通过
0
通过率
?
被复制
6
上传者