#P3304. 直径(Tree Diameter)

0
    ID: 8503 传统题 1000ms 128MiB 尝试: 0 已通过: 0 难度: (无) 上传者: 标签>P3304树的直径与重心树的直径树形结构图论CSP-S

直径(Tree Diameter)

直径(Tree Diameter)

题目描述

小 Q 最近学习了一些图论知识。根据课本,有如下定义。树:无回路且连通的无向图,每条边都有正整数的权值来表示其长度。如果一棵树有 NN 个节点,可以证明其有且仅有 N−1N-1 条边。

路径:一棵树上,任意两个节点之间最多有一条简单路径。我们用 dis(a,b)\text{dis}(a,b) 表示点 aa 和点 bb 的路径上各边长度之和。称 dis(a,b)\text{dis}(a,b) 为 a,ba,b 两个节点间的距离。

直径:一棵树上,最长的路径为树的直径。树的直径可能不是唯一的。

现在小 Q 想知道,对于给定的一棵树,其直径的长度是多少,以及有多少条边满足所有的直径都经过该边。

输入格式

第一行包含一个整数 NN,表示节点数。

接下来 N−1N-1 行,每行三个整数 a,b,ca,b,c,表示点 aa 和点 bb 之间有一条长度为 cc 的无向边。

输出格式

共两行。第一行一个整数,表示直径的长度。第二行一个整数,表示被所有直径经过的边的数量。

样例输入 #1

6
3 1 1000
1 4 10
4 2 100
4 5 50
4 6 100

样例输出 #1

1110
2

数据范围

【样例说明】

直径共有两条,33 到 22 的路径和 33 到 66 的路径。这两条直径都经过边 (3,1)(3,1) 和边 (1,4)(1, 4)。

对于 100%100\% 的测试数据:2≤N≤2×1052\le N\le 2\times 10^5,1≤a,b≤N1\le a,b\le N,1≤c≤1091\le c \le10^9。输入的图构成一棵树。

知识点与难度

本题涉及的知识点从属于 CSP-S,难度(CF Rating):1850。


测试点分布

Subtask 分值 测试点编号 说明
0 10 1 样例
1 20 2~7 小规模 N≤50 / 特殊: N=2唯一一条边 / 特殊: 星型树直径无任何公共必经边(输出0)
2 8~13 中等规模 N≤5000 / Hack: 两端对称分叉仅中间一段树干为所有直径必经边
3 30 14~20 满规模 N=200000,c≤10^9 64位距离防溢出与迭代BFS测试
4 20 21~25 满规模 N=200000 多分叉毛毛虫树与随机带权树综合回归

出处:原题链接