给出几个点的树,节点编号为 1 到 n,根节点为 1,每个节点有一个权值。
我们想在这棵树上找一条最长的链,使得这个链上的节点均满足 afn<=ai 或者均满足 afn>=ai,其中 fai 表示的父亲节点,我们假定 fa1=1。
输出这个最长链的节点数。
第一行输入一个整数 n(1≤n≤105)代表树上的节点个数。
第二行输入 n 个整数 a1,a2,⋯,an(1≤ai≤105)代表每一个节点的权值。
此后 n-1 行,每行输入两个整数 ui 和 vi(1≤ui,vi≤n;ui=vi)表示树上第 i 条边连接节点 ui 和 vi。保证树是联通的,没有重边。
在一行上输出一个整数代表最长链的节点个数。
输入:
5
1 2 3 4 5
1 2
2 3
1 4
4 5
输出:
5
解释:最长的链是 3 → 2 → 1 → 4 → 5。
扫码备注加群即可,期待您的到来~
By signing up a CodeFun2000 universal account, you can submit code and join discussions in all online judging services provided by us.