#P3304. 直径(Tree Diameter)
0
直径(Tree Diameter)
直径(Tree Diameter)
题目描述
小 Q 最近学习了一些图论知识。根据课本,有如下定义。树:无回路且连通的无向图,每条边都有正整数的权值来表示其长度。如果一棵树有 个节点,可以证明其有且仅有 条边。
路径:一棵树上,任意两个节点之间最多有一条简单路径。我们用 表示点 和点 的路径上各边长度之和。称 为 两个节点间的距离。
直径:一棵树上,最长的路径为树的直径。树的直径可能不是唯一的。
现在小 Q 想知道,对于给定的一棵树,其直径的长度是多少,以及有多少条边满足所有的直径都经过该边。
输入格式
第一行包含一个整数 ,表示节点数。
接下来 行,每行三个整数 ,表示点 和点 之间有一条长度为 的无向边。
输出格式
共两行。第一行一个整数,表示直径的长度。第二行一个整数,表示被所有直径经过的边的数量。
样例输入 #1
6
3 1 1000
1 4 10
4 2 100
4 5 50
4 6 100
样例输出 #1
1110
2
数据范围
【样例说明】
直径共有两条, 到 的路径和 到 的路径。这两条直径都经过边 和边 。
对于 的测试数据:,,。输入的图构成一棵树。
知识点与难度
本题涉及的知识点从属于 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 多分叉毛毛虫树与随机带权树综合回归 |
出处:原题链接