题目名称 3637. [SDOI 2013]直径
输入输出 diameter.in/out
难度等级 ★★☆
时间限制 1000 ms (1 s)
内存限制 256 MiB
测试数据 10
题目来源 Gravatarsyzhaoss 于2022-01-11加入
开放分组 全部用户
提交状态
分类标签
图论 树的直径
分享题解
通过:4, 提交:6, 通过率:66.67%
Gravatar┭┮﹏┭┮ 100 0.442 s 8.13 MiB C++
Gravatarsywgz 100 0.484 s 8.59 MiB C++
Gravatar超人 100 0.909 s 19.92 MiB C++
Gravatar小金 100 0.910 s 9.85 MiB C++
Gravatar小金 70 1.887 s 9.39 MiB C++
Gravatar超人 0 0.000 s 0.00 MiB C++
关于 直径 的近10条评论(全部评论)
思维挺难
Gravatar┭┮﹏┭┮
2023-12-21 20:27 1楼

3637. [SDOI 2013]直径

★★☆   输入文件:diameter.in   输出文件:diameter.out   简单对比
时间限制:1 s   内存限制:256 MiB

【题目描述】

小 Q 最近学习了一些图论知识。

根据课本,有如下定义。

树:无回路且连通的无向图,每条边都有正整数的权值来表示其长度。

如果一棵树有 $n$ 个节点,可以证明其有且仅有 $n-1$ 条边。

路径:一棵树上,任意两个节点之间最多有一条简单路径。

我们用 $dis(a,b)$ 表示点 $a$ 和点 $b$ 的路径上各边长度之和。

称 $dis(a,b)$ 为 $a$、$b$ 两个节点间的距离。

直径:一棵树上,最长的路径为树的直径。

树的直径可能不是唯一的。

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

【输入格式】

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

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

【输出格式】

共两行。

第一行一个整数,表示直径的长度。

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

【样例输入】

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

【样例输出】

1110
2

【样例说明】

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

【数据规模与约定】

$2\leq n\leq 2\times 10^5, 1\leq a,b\leq n, c\leq 10^9$,点的编号从 1 开始。