U635584 梦里看到的题(?)

题目背景

出题人太菜了不会写 std,所以本题没有测试数据。 或许可以认为时限 1s,空间限制 512MB?

题目描述

称连续子段为一个整数序列中满足子段中每个数都相等的子段。例如,对于 $[1,1,4,5,1,4]$,$[1]$ 是一个连续子段,而 $[1,1,4]$ 不是;这一序列的最长连续子段是 $[1,1]$。 以下记 $(u,v)$ 为 $u,v$ 两点间的链。 给定一棵有树,点有点权。你需要维护两种操作: * `1 u v x`,表示将 $(u,v)$ 上所有点的点权加上 $x$; * `2 u v`,表示询问将 $(u,v)$ 上所有点的点权按顺序写下后得到的序列的最长连续子段的长度。 **负整数在询问时可以视作任意正整数**,询问间互相独立。

输入格式

第 $1$ 行输入一个正整数 $n$ 表示结点个数。 第 $2$ 行为 $n$ 个整数,第 $i$ 个整数 $v_i$ 表示 $i$ 号点的初始点权。 接下来 $n-1$ 行,每行两个正整数 $u,v$,表示树上存在一条连接 $u,v$ 的边。 然后一行一个正整数 $q$ 表示操作次数。 接下来 $q$ 行,每行代表一个操作,操作只有上述两种。

输出格式

对于每个询问,输出一行一个正整数表示答案。

说明/提示

### 样例解释 样例 $1$ 的树长这样: ![(此处应有一张图)](https://cdn.luogu.com.cn/upload/image_hosting/nxaf1b61.png) 样例 $2$ 的树长这样: ![(此处应有一张图)](https://cdn.luogu.com.cn/upload/image_hosting/tgseu7du.png) 在样例 $1$ 的第一组询问中,链上的点权依次为 $[1,1,4]$,其最长连续子段为 $[1,1]$。 在样例 $1$ 的第 $2$ 组询问中,链上的点权依次为 $[1,1,1]$,最长连续子段为 $[1,1,1]$。 在样例 $2$ 的第 $1 $组询问中,链上的点权依次为 $[-5,1,7,-2,3]$;一种可能的做法是将 $-5$ 看做 $1$,则 $[1,1]$ 构成最长连续子段。可以发现不存在更长的连续子段。 在样例 $2$ 的第 $2$ 组询问中,链上的点权依次为 $[1,8,8,-1]$;可以将 $-1$ 看做 $8$,则 $[8,8,8]$ 构成最长连续子段。可以发现不存在更长的连续子段。 ### 数据规模 * $1\le n,q\le 4\times 10^4$ * $-10^9 \le x,v_i \le 10^9$