U684923 树上最长顺子
题目描述
有 $n$ 个点,每个点有点权,初始没有一条边。给出 $m$ 个操作:
- `1 u v`,表示在 $u$ 和 $v$ 之间添加一条边,如果 $u$ 和 $v$ 已经连通,则忽略此操作
- `2 u v`,表示断开 $u$ 和 $v$ 之间连的边,如果 $u$ 和 $v$ 之间没有边,则忽略此操作
- `3 u v`,表示查询 $u$ 到 $v$ 路径上点权为顺子的最长连续子序列的长度,保证 $u$ 和 $v$ 此时连通
定义一个序列 $a_{1,n}$ 为顺子,当且仅当 $\forall i\in[1,n),a_{i+1}=a_i+1$ 或 $\forall i\in[1,n),a_{i+1}=a_i-1$。
输入格式
第一行两个整数 $n$ 和 $m$,意义见题面。
第二行 $n$ 个整数,其中第 $i$ 个为 $a_i$,表示编号为 $i$ 的节点的权值。
接下来 $m$ 行,每行按题面格式描述一个操作。
输出格式
对每个 `3` 操作,输出一个整数表示答案。
说明/提示
$1\le n,m,a_i\le 10^6$