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