4481: 「2018 集训队互测 Day 3」北校门外的未来

内存限制:512 MB 时间限制:3.000 S
评测方式:文本比较 命题人:
提交:0 解决:0

题目描述

> 如果你不想阅读故事,请直接跳到题意部分。 转眼间,已是三年流转。 夏日法桐的绿荫,代替了秋季的萧索,衬托着 LCR 和神犇成长的背影。 身后的北校门,也不再是当年学生试图摧毁的,束缚自由的枷锁,而成了青春记忆的符号。 又到了神犇和 LCR 相遇的地方 —— 北校门外的树下。这棵神奇的树早已不是 K 项树的形态。每时每刻,它都以新的独特方式演绎着生命。 谁也没有开口,他和她静静地注视着魔法般生长的自然种子。初始时,这棵树只有一个点,LCR 将其标号为 $1$。此后,每过一段时间,就会有一个新节点从原有的某个点出生长出来,LCR 会给它分配一个尚未使用过的不超过 $n$ 的正整数编号。 树中生活着一些小精灵。它们总停留在节点上,如果一个精灵在编号 $u$ 的节点,那么它可以一步跳到任何编号 $v$ 的满足 $u,v$ 之间的简单路径上不存在异于 $u,v$ 的编号大于 $\min(u,v)$ 的点处。 在观察这棵树的过程中,LCR 产生了一些疑问。她想知道,对于一对节点编号 $u,v$,从节点 $u$ 跳到节点 $v$ 最少需要几步。 神犇轻松地解决了这些问题。最终,树渐渐停止了生长,但神犇仍然陶醉其中。 一只飘渺的手搭上了神犇的肩膀。他回过头,看到 LCR 正在微笑。 *“亲爱的少年,神犇君。”* *“你是否想过,为什么精灵会依照我编号的法则而运动呢?”* 神犇一时语塞。瞬间,LCR 的手变得虚幻了起来,如同明灭的火炬。 *“你的成长,是这变化世界的一个切面。感谢你与我度过的时光。不要留恋 …… 我的随风飘散,正是与你们同在。”* *“再见了,神犇君。”* LCR 消失了,神犇机械地转过身,却发现背后的树也已消失无踪。 *“神犇,神犇 ……”* 茫然若失的神犇背后传来了渐行渐近的呼叫。神犇转过身,发现机房里的蒟蒻 LCA 正向他跑来。 *“又是一年毕业季了呢。学长你还好吗?”* *“也许吧。”* 神犇望向校门外的树原先的位置,*“LCR 走了,但她的背影会吸引着我们的人生。”* LCA 沉默了。他和神犇一同望向树消失的地方,持续片刻。 *“所谓中二的幻想,才是我们相对的有限的主观能动性唯一的立场吧,不要给自己设限啊,LCA。我们去追寻她 …… 追寻自然的精灵。也许这就是我们的初心也说不定。”* 这次是 LCA 目送神犇的背影渐行渐远了。 *“再见了,学长。”* 某少女附中,又迎来了新的一年。 那么,你能够回答 LCR 提出的问题吗? --- ### 题意 对于一棵树 $T=(V,E)$,$V$ 中每个点有一个互不相同的正整数标号。我们用点 $i$ 表示编号为 $i$ 的点。 定义这棵树的**谷图**为 $G(T)=(V,E')$。$G(T)$ 是无向简单图。存在边 $(u,v)\in E'$ 当且仅当在 $T$ 中,不存在一个异于 $u,v$ 的点 $x$ 满足 $x$ 在从 $u$ 到 $v$ 的简单路径上且其编号大于 $\min(u,v)$。 有一棵树 $T$,初始时只有一个点,编号为 $1$,接下来有 $q$ 次操作,操作有以下两种: * $\texttt{1 u v}$ 表示加入一个编号为 $v$ 的节点并与当前编号为 $u$ 的节点相连(保证任何时刻不会有两个编号相同的节点); * $\texttt{2 u v}$ 表示查询 $G(T)$ 中点 $u$ 到 $v$ 的最短路(每条边长度均为 $1$)。 请你回答所有查询。

输入

第一行两个整数 $n, q$,表示编号的最大可能值及询问个数。 接下来 $q$ 行每行三个整数 $\texttt{op u v}$,以题目描述中的格式描述一次操作。

输出

依次对于每一个 $\texttt{2}$ 类型的操作,输出一行一个整数表示其对应的答案。

样例输入 复制

7 10
1 1 2
1 2 3
1 3 5
1 5 6
2 1 6
1 1 4
2 1 6
1 1 7
2 1 6
2 3 6

样例输出 复制

4
3
2
2

提示

输入样例2


10 20
1 1 8
1 8 5
1 5 10
1 8 7
2 7 1
1 7 4
2 7 5
1 7 6
2 7 6
1 6 9
2 4 1
1 9 2
2 8 1
1 9 3
2 3 10
2 6 8
2 4 8
2 3 8
2 3 9
2 8 1

输出样例2


2
2
1
3
1
2
2
2
2
1
1

输入样例3


10 20
1 1 7
1 7 6
1 1 2
1 6 4
1 2 3
1 3 5
1 5 9
1 9 8
1 8 10
2 7 10
2 8 3
2 9 5
2 1 7
2 2 1
2 9 9
2 2 7
2 4 3
2 5 4
2 9 2
2 1 1

输出样例3


2
3
1
1
1
0
1
3
3
2
0

数据范围:对于所有数据,$1\le n\le 10^5,1\le q\le 5\times 10^5$。 每个子任务详细的数据限制及约定如下(留空表示和上述所有数据的约定相同): |子任务编号|分数|$n$|$q$|性质| |:-:|:-:|:-:|:-:|:-:| |$1$|$6$|$\le 100$|$\le 200$|-| |$2$|$10$|$\le 5000$|$\le 10000$|-| |$3$|$12$|$\le 5000$| |-| |$4$|$15$| | |一、二| |$5$|$12$| | |二| |$6$|$10$| |$\le 2 \times 10^5$|一、三| |$7$|$10$| |$\le 2 \times 10^5$|一| |$8$|$10$| |$\le 2 \times 10^5$|-| |$9$|$15$| | |-| 性质一:所有 $\texttt{1}$ 操作(修改)在所有 $\texttt{2}$ 操作(询问)之前。 性质二:任何时刻保证树是一条链。 性质三:最终形成的树在所有 $n$ 个点的有标号无根树中均匀随机,随机数生成器使用[梅森旋转算法](https://en.wikipedia.org/wiki/Mersenne_Twister)。 注意样例 3 满足性质一、二。 **注意:候选队互测主站 TUOJ 上时限为 2 秒,LOJ 上时限已按照测评机差异调整。**

来源/分类