考虑用树链剖分加线段树合并进行解决,在树链剖分成为一条链之后用线段树维护答案、最长上升前缀、最长上升前缀、两侧的值和这一段的答案。

因为一条路径是 xlca(x,y)yx\to lca(x,y)\to y 可能会出现深度逐渐增加和深度逐渐减小两种情况,所以需要在维护最长上升字串的同时维护最长下降字串,所以连续下降字串也需要维护。

注意合并时候的顺序,时间复杂度为 O(Tnlog2)O(Tn\log^2)