Ranges on Tree

AtCoder
IDabc240_e
Time2000ms
Memory256MB
Difficulty
You are given a rooted tree with $N$ vertices. The root is Vertex $1$. For each $i = 1, 2, \ldots, N-1$, the $i$\-th edge connects Vertex $u_i$ and Vertex $v_i$. For each $i = 1, 2, \ldots, N$, let $S_i$ denote the set of all vertices in the subtree rooted at Vertex $i$. (Each vertex is in the subtree rooted at itself, that is, $i \in S_i$.) Additionally, for integers $l$ and $r$, let $[l, r]$ denote the set of all integers between $l$ and $r$, that is, $[l, r] = \lbrace l, l+1, l+2, \ldots, r \rbrace$. Consider a sequence of $N$ pairs of integers $\big((L_1, R_1), (L_2, R_2), \ldots, (L_N, R_N)\big)$ that satisfies the conditions below. * $1 \leq L_i \leq R_i$ for every integer $i$ such that $1 \leq i \leq N$. * The following holds for every pair of integers $(i, j)$ such that $1 \leq i, j \leq N$. * $[L_i, R_i] \subseteq [L_j, R_j]$ if $S_i \subseteq S_j$ * $[L_i, R_i] \cap [L_j, R_j] = \emptyset$ if $S_i \cap S_j = \emptyset$ It can be shown that there is at least one sequence $\big((L_1, R_1), (L_2, R_2), \ldots, (L_N, R_N)\big)$. Among those sequences, print one that minimizes $\max \lbrace L_1, L_2, \ldots, L_N, R_1, R_2, \ldots, R_N \rbrace$, the maximum integer used. (If there are multiple such sequences, you may print any of them.) ## Constraints * $2 \leq N \leq 2 \times 10^5$ * $1 \leq u_i, v_i \leq N$ * All values in input are integers. * The given graph is a tree. ## Input Input is given from Standard Input in the following format: $N$ $u_1$ $v_1$ $u_2$ $v_2$ $\vdots$ $u_{N-1}$ $v_{N-1}$ [samples]
Samples
Input #1
3
2 1
3 1
Output #1
1 2
2 2
1 1

$(L_1, R_1) = (1, 2), (L_2, R_2) = (2, 2), (L_3, R_3) = (1, 1)$ satisfies the conditions.  
Indeed, we have $[L_2, R_2] \subseteq [L_1, R_1], [L_3, R_3] \subseteq [L_1, R_1], [L_2, R_2] \cap [L_3, R_3] = \emptyset$.  
Additionally, $\max \lbrace L_1, L_2, L_3, R_1, R_2, R_3 \rbrace = 2$ is the minimum possible value.
Input #2
5
3 4
5 4
1 2
1 4
Output #2
1 3
3 3
2 2
1 2
1 1
Input #3
5
4 5
3 2
5 2
3 1
Output #3
1 1
1 1
1 1
1 1
1 1
API Response (JSON)
{
  "problem": {
    "name": "Ranges on Tree",
    "description": {
      "content": "You are given a rooted tree with $N$ vertices. The root is Vertex $1$.   For each $i = 1, 2, \\ldots, N-1$, the $i$\\-th edge connects Vertex $u_i$ and Vertex $v_i$. For each $i = 1, 2, \\ldots, N$, let ",
      "description_type": "Markdown"
    },
    "platform": "AtCoder",
    "limit": {
      "time_limit": 2000,
      "memory_limit": 262144
    },
    "difficulty": "None",
    "is_remote": true,
    "is_sync": true,
    "sync_url": null,
    "sign": "abc240_e"
  },
  "statements": [
    {
      "statement_type": "Markdown",
      "content": "You are given a rooted tree with $N$ vertices. The root is Vertex $1$.  \nFor each $i = 1, 2, \\ldots, N-1$, the $i$\\-th edge connects Vertex $u_i$ and Vertex $v_i$.\nFor each $i = 1, 2, \\ldots, N$, let ...",
      "is_translate": false,
      "language": "English"
    }
  ]
}
Full JSON Raw Segments