题目描述
我们有一棵具有N个顶点的树,第i条边连接了顶点ui和顶点vi。顶点i上有一个整数ai。对于从1到N的每个整数k,解决以下问题:
- 我们将通过按照它们出现的顺序将写在顶点上的整数沿着从顶点1到顶点k的最短路径排列成一个序列。找到该序列的最长递增子序列的长度。
这里,序列A的最长递增子序列是满足1≤i1<i2<...<iM≤L和Ai1<Ai2<...<AiM的子序列Ai1,Ai2,...,AiM中M的最大可能值。
约束条件
- 2≤N≤2×105
- 1≤ai≤109
- 1≤ui,vi≤N
- ui=vi
- 给定的图是一棵树。
- 输入中的所有值都是整数。
输入
输入以以下格式从标准输入给出:
N
a1 a2 ... aN
u1 v1
u2 v2
:
uN−1 vN−1
输出
打印出N行。第k行,打印出从顶点1到顶点k的最短路径得到的序列的最长递增子序列的长度。
示例输入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
示例输出1
1
2
3
3
4
4
5
2
2
3
例如,从顶点1到顶点5的最短路径得到的序列A是1,2,5,3,4。其最长递增子序列是A1,A2,A4,A5,长度为4。