101655: [AtCoder]ABC165 F - LIS on Tree

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

Description

Score : $600$ points

Problem Statement

We have a tree with $N$ vertices, whose $i$-th edge connects Vertex $u_i$ and Vertex $v_i$. Vertex $i$ has an integer $a_i$ written on it. For every integer $k$ from $1$ through $N$, solve the following problem:

  • We will make a sequence by lining up the integers written on the vertices along the shortest path from Vertex $1$ to Vertex $k$, in the order they appear. Find the length of the longest increasing subsequence of this sequence.

Here, the longest increasing subsequence of a sequence $A$ of length $L$ is the subsequence $A_{i_1} , A_{i_2} , ... , A_{i_M}$ with the greatest possible value of $M$ such that $1 \leq i_1 < i_2 < ... < i_M \leq L$ and $A_{i_1} < A_{i_2} < ... < A_{i_M}$.

Constraints

  • $2 \leq N \leq 2 \times 10^5$
  • $1 \leq a_i \leq 10^9$
  • $1 \leq u_i , v_i \leq N$
  • $u_i \neq v_i$
  • The given graph is a tree.
  • All values in input are integers.

Input

Input is given from Standard Input in the following format:

$N$
$a_1$ $a_2$ $...$ $a_N$
$u_1$ $v_1$
$u_2$ $v_2$
$:$
$u_{N-1}$ $v_{N-1}$

Output

Print $N$ lines. The $k$-th line, print the length of the longest increasing subsequence of the sequence obtained from the shortest path from Vertex $1$ to Vertex $k$.


Sample Input 1

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

Sample Output 1

1
2
3
3
4
4
5
2
2
3

For example, the sequence $A$ obtained from the shortest path from Vertex $1$ to Vertex $5$ is $1,2,5,3,4$. Its longest increasing subsequence is $A_1, A_2, A_4, A_5$, with the length of $4$.

Input

题意翻译

给您一棵$n$个节点的树,树的每个节点上都有一个值$a_i$。现在要您求出从$1$号点到$i$号点的路径上最长上升子序列的长度。 ## 输入格式 第一行一个数$n$,表示节点个数 第二行共$n$个数,第$i$个数表示$a_i$,含义见题面 接下来共有$n-1$行,第两个数$u,v$,表示$u$和$v$之间存在一条边 ## 输出格式 输出共包含$n$行,每行只有一个数,第$i$行的数表示从$1$号点到$i$号点的路径上最长上升子序列的长度。 数据范围: $2\le n\le 2e5,a_i\le 1e9, u\le n,v\le n,u\neq v$

加入题单

算法标签: