bzoj#P4309. Maishroom & Mushroom

Maishroom & Mushroom

题目描述

现在有一棵树,我们不妨称它为树 11

11 上有 nn 个结点,这些结点按 1n1\cdots n 编号,并组成了一棵树,其中 11 是根。由于长期没有清理,树 11 的每个结点里都被覆盖了标记。

记录当前树总数为 cntcnt,我们会进行一些操作,这些操作的具体说明如下:

  • 1 u,复制了树 uu,新的树编号为 cnt+1cnt+1
  • 2 u v,把树 vv 合并到树 uu 上,若 u,vu,v 的同一编号的结点上有至少一个有标记,则 uu 这个编号的结点上有标记。合并后 vv 不会消失;
  • 3 u v,除去树 uuvv 的子树中的标记;
  • 4 u v,除去树 uu 上除 vv 的子树以外的标记;
  • 5 u x y,除去树 uuxxyy 路径上的标记;
  • 6 u x y,除去树 uu 上除 xxyy 路径上的标记;
  • 7 u l r,除去树上编号在 [l,r][l,r] 中结点上的标记;
  • 8 u l r,除去树上编号不在 [l,r][l,r] 中结点上的标记;
  • 9 u w,询问清除树 uu 上所有标记所需的最小时间。你可以花费 11 单位时间选择若干个编号极差不超过 ww 的结点清除标记。

注意,询问独立,也就是询问不会真实地清除掉标记。

现在有一份操作记录,你的任务是回答每个询问。

输入格式

第一行一个整数 nn 表示结点个数。

接下来 n1n-1 行,每行两个整数 u,vu,v 表示结点 u,vu,v 之间有连边。

接下来一行一个整数 qq 表示操作总数。

接下来 qq 行每行一个操作,格式见题目描述。

输出格式

对于每个询问,输出一行一个整数表示答案。

5
1 3
3 5
1 2
2 4
9
1 1
1 2
5 3 4 5
9 3 0
2 3 2
6 3 4 5
9 3 1
4 2 2
9 2 1
0
3
2

数据规模与约定

对于 100%100\% 的数据,1n5×1041\leq n\leq 5\times 10^41q1051\leq q\leq 10^5ww[0,200][0,200] 中随机。