CF1042F.Leaf Sets
提高+/省选-
通过率:0%
时间限制:3.00s
内存限制:256MB
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
You are given an undirected tree, consisting of n vertices.
The vertex is called a leaf if it has exactly one vertex adjacent to it.
The distance between some pair of vertices is the number of edges in the shortest path between them.
Let's call some set of leaves beautiful if the maximum distance between any pair of leaves in it is less or equal to k.
You want to split all leaves into non-intersecting beautiful sets. What is the minimal number of sets in such a split?
给你一棵包含 n 个顶点的无向树。
若一个顶点恰好与一个其他顶点相邻,则称其为叶子节点(leaf)。
某对顶点之间的距离定义为它们之间最短路径所含边的数量。
若某个叶子节点集合中,任意两个叶子节点之间的最大距离不超过 k,则称该集合为优美的(beautiful)。
你需要将所有叶子节点划分成若干个互不相交的优美集合。问:满足条件的划分中,集合数的最小值是多少?
输入格式
The first line contains two integers n and k (3≤n≤106, 1≤k≤106) — the number of vertices in the tree and the maximum distance between any pair of leaves in each beautiful set.
Each of the next n−1 lines contains two integers vi and ui (1≤vi,ui≤n) — the description of the i-th edge.
It is guaranteed that the given edges form a tree.
第一行包含两个整数 n 和 k(3≤n≤106,1≤k≤106)—— 分别表示树中顶点的数量以及每个优美集合中任意两片叶子之间的最大距离。
接下来的 n−1 行,每行包含两个整数 vi 和 ui(1≤vi,ui≤n)—— 描述第 i 条边。
保证所给的边构成一棵树。
输出格式
Print a single integer — the minimal number of beautiful sets the split can have.
输出一个整数——分割所能得到的优美集合的最少数量。
输入输出样例
输入#1
9 3 1 2 1 3 2 4 2 5 3 6 6 7 6 8 3 9
输出#1
2
输入#2
5 3 1 2 2 3 3 4 4 5
输出#2
2
输入#3
6 1 1 2 1 3 1 4 1 5 1 6
输出#3
5
说明/提示
Here is the graph for the first example:

以下是第一个示例的图:

输入解题思路,AI测评打分。不知道怎么写?