200883: [AtCoder]ARC088 F - Christmas Tree

Memory Limit:256 MB Time Limit:2 S
Judge Style:Text Compare Creator:
Submit:0 Solved:0

Description

Score : $900$ points

Problem Statement

Takahashi has decided to make a Christmas Tree for the Christmas party in AtCoder, Inc.

A Christmas Tree is a tree with $N$ vertices numbered $1$ through $N$ and $N-1$ edges, whose $i$-th edge $(1\leq i\leq N-1)$ connects Vertex $a_i$ and $b_i$.

He would like to make one as follows:

  • Specify two non-negative integers $A$ and $B$.
  • Prepare $A$ Christmas Paths whose lengths are at most $B$. Here, a Christmas Path of length $X$ is a graph with $X+1$ vertices and $X$ edges such that, if we properly number the vertices $1$ through $X+1$, the $i$-th edge $(1\leq i\leq X)$ will connect Vertex $i$ and $i+1$.
  • Repeat the following operation until he has one connected tree:
    • Select two vertices $x$ and $y$ that belong to different connected components. Combine $x$ and $y$ into one vertex. More precisely, for each edge $(p,y)$ incident to the vertex $y$, add the edge $(p,x)$. Then, delete the vertex $y$ and all the edges incident to $y$.
  • Properly number the vertices in the tree.

Takahashi would like to find the lexicographically smallest pair $(A,B)$ such that he can make a Christmas Tree, that is, find the smallest $A$, and find the smallest $B$ under the condition that $A$ is minimized.

Solve this problem for him.

Constraints

  • $2 \leq N \leq 10^5$
  • $1 \leq a_i,b_i \leq N$
  • The given graph is a tree.

Input

Input is given from Standard Input in the following format:

$N$
$a_1$ $b_1$
:
$a_{N-1}$ $b_{N-1}$

Output

For the lexicographically smallest $(A,B)$, print $A$ and $B$ with a space in between.


Sample Input 1

7
1 2
2 3
2 4
4 5
4 6
6 7

Sample Output 1

3 2

We can make a Christmas Tree as shown in the figure below:


Sample Input 2

8
1 2
2 3
3 4
4 5
5 6
5 7
5 8

Sample Output 2

2 5

Sample Input 3

10
1 2
2 3
3 4
2 5
6 5
6 7
7 8
5 9
10 5

Sample Output 3

3 4

Input

题意翻译

给定一棵 $N$ 个节点的树。用如下方法生成一棵与其相同的树: - 首先生成 $A$ 个边数均不超过 $B$ 的链。 - 重复以下操作直到所有的点连通: - 选择两个当前属于不同连通块的点,将这两个点合并为一个点,所有原来与这两个点中的至少一个点有边的点与这个新点有边。 - 将点重新标号。 求出能够生成给定树的最小的 $A$ 值,在最小化 $A$ 的基础上最小化 $B$ 值。 对于 $100 \%$ 的数据,$2\le N\le 10^5$。 **【输入格式】** 第一行输入 $N$,随后 $N-1$ 行每行两个整数描述一条边。 **【输出格式】** 输出一行两个整数,题目所求的 $A$ 和 $B$。

加入题单

算法标签: