U37082 星球大战

题目背景

公元3145年,爆发了第二次宇宙大战。 有三个阵营,分别是猎犬座星系阵营,赛弗特星系阵营(不是赛博坦!),当然,还有我们的银河系阵营。 作为银河系阵营的总指挥,山不转水转决定先了解一下敌方阵地的详细信息。 对猎犬座星系阵营的侦查已经交给了少爷,现在你要负责的是对赛弗特星系阵营的侦查任务。 (出题人连夜赶工,所以题目背景与题目描述好像没有半毛钱关系,凑和着看吧。。。)

题目描述

赛弗特星系有$n$个星球,一共$n-1$条虫洞连通这些星球。 我们不妨把这些星球编号为$1,2,3,...,n$。 这些星球均属于赛弗特星系阵营,所以有一个首都。 一开始首都为$1$。 但是这个首都是会变的! 现在,他想知道,这些星球中某两个星球$x,y$之间虫洞连接的所有星球中,深度最小的那个星球。 深度的定义:$x$号星球的深度为$x$到首都经过的虫洞的数量$+1$。 简化版题意:给你一棵有根树,要求支持换根操作与求$LCA$操作。

输入格式

第一行两个整数$n,m$,表示有$n$个星球,$m$个询问。 第2~n+1行,每行两个整数$x,y$,表示星球$x,y$之间有一条虫洞连接。 第n+2~m+n+1行,每行若干整数,描述如下: 1. 1 x 表示将首都换为$x$。 2. 2 x y 表示询问的两个星球的编号为$x,y$。

输出格式

若干行,表示询问的答案。

说明/提示

10%:$n,m