题目描述 给一个树,n 个点,有点权,初始根是 1. m 个操作,每次操作: 1. 将树根换为 x. 2. 给出两个点 x,y,从 x 的子树中选每一个点,y 的子树中选每一个点,如果两个点点权相等,ans++,求 ans. 输入 第一行两个数表示 n,m. 第二行 n 个数,表示每个点的点权 a[i]. 之后 n - 1 行 , 每行两个数 x , y , 表示一条边 之后 m 行,每行为 1 x 或者 2 x y. 1 x,表示将根变成 x点. 2 x y,表示查询 x 点的子树与 y 点的…