题目描述
原本题目是英文题面,挺长的,直接给大家上翻译:
给出一个由 $n$ 个点,$m$ 条边组成的森林,有 $q$ 组询问
1. 给出点 $x$,输出点 $x$所在的树的直径
2. 给出点 $x,y$,(如果 $x,y$ 在同一棵树中则忽略此操作)选择任意两点 $u,v$,使得 $u$ 跟 $x$ 在同一棵树中且 $v$ 跟 $y$ 在同一棵树中。将 $u,v$ 之间连一条边,使得连边后的到的新树的直径最小
输入格式
第一行三个整数 $n,m,q$,分别表示 点的个数,边的个数和询问个数
接下来 $m$ 行,每行两个整数 $x,y$,表示有一条链接点 $x,y$ 的边
接下来 $q$ 行,每行表示一条操作
操作1:`1 x`
操作2:`2 x y`
输出格式
输出行数为操作1的个数
每行一个整数表示对应的操作一的答案
样例输入 #1
6 0 6
2 1 2
2 3 4
2 5 6
2 3 2
2 5 3
1 1
提示
$1 \le m < n \le 3\cdot 10^5$
$1 \le q \le 3 \cdot 10^5$