题目名称 | 3690. [CF1060E]Sergey and Subway |
---|---|
输入输出 | Sergeyas.in/out |
难度等级 | ★★ |
时间限制 | 1000 ms (1 s) |
内存限制 | 256 MiB |
测试数据 | 10 |
题目来源 | yrtiop 于2022-06-28加入 |
开放分组 | 全部用户 |
提交状态 | |
分类标签 | |
分享题解 |
通过:4, 提交:8, 通过率:50% | ||||
遥时_彼方 | 100 | 0.150 s | 6.68 MiB | C++ |
ZRQ | 100 | 0.220 s | 8.29 MiB | C++ |
遥时_彼方 | 100 | 0.250 s | 89.46 MiB | C++ |
猴 | 100 | 0.251 s | 89.46 MiB | C++ |
遥时_彼方 | 30 | 0.237 s | 6.68 MiB | C++ |
ZRQ | 30 | 0.269 s | 8.29 MiB | C++ |
HeSn | 30 | 7.232 s | 10.44 MiB | C++ |
猴 | 0 | 0.000 s | 0.00 MiB | C++ |
本题关联比赛 | |||
EYOI暨SBOI暑假快乐赛5th |
关于 Sergey and Subway 的近10条评论(全部评论) | ||||
---|---|---|---|---|
注意开long long
|
给出一颗 $N$ 个节点的树,现在我们在原图中每个不直接连边但是中间只间隔一个点的两个点之间连一条边。
比如在原图中 $u$ 与 $v$ 连边,$v$ 与 $w$ 连边,但是 $u$ 与 $w$ 不连边,这时候我们就需要连一条 $u$ 与 $w$ 的边。
现在我们需要求出新图中每一个点对 $(i,j)\ (1 \le i \le j \le N)$ 的经过的最少的边数和。
第一行包含一个整数 $N$,表示树的节点数量。
接下来 $N-1$ 行,每行两个整数 $x,y$,表示节点 $x,y$ 之间有一条边。
一个整数,表示所有点对之间的最少边数之和。
4 1 2 1 3 1 4
6
4 1 2 2 3 3 4
7
第一组样例中没有新边,不做解释。
第二组样例中,建出新边后,得到:
$(1,2)$ 之间最少 $1$ 条边,$(1,3)$ 之间最少 $1$ 条边,$(1,4)$ 之间最少 $2$ 条边(即 $1\to 3,3 \to 4$)。
$(2,3)$ 之间最少 $1$ 条边,$(2,4)$ 之间最少 $1$ 条边。
$(3,4)$ 之间最少 $1$ 条边。
故答案为 $1+1+2+1+1+1=7$。
对于 30% 的数据,$1 \le n \le 10^3$。
对于 100% 的数据,$1 \le n \le 2 \times 10^5$。
Codeforces Round #513 by Barcelona Bootcamp (rated, Div. 1 + Div. 2)