#ds1004. 动态树
动态树
动态树
题目描述
别忘了这是一棵动态树,每时每刻都是动态的。小明要求你在这棵树上维护两种事件。
0 u delta,这棵树长出了一些果子, 即的子树中的每个节点都会长出个果子.1 k u1 v1 ... uk vk,小明希望你求出几条树枝上的果子数. 一条树枝其实就是一个从某个节点到根的路径的一段. 每次小明会选定一些树枝, 让你求出在这些树枝上的节点的果子数的和。注意, 树枝之间可能会重合, 这时重合的部分的节点的果子只要算一次。
输入格式
第一行一个整数,即节点数。
接下来行, 每行两个数字,表示果子和果子之间有一条直接的边。 节点从开始编号。
在接下来一个整数,表示事件。
最后行,每行开头要么是,要么是。
如果是,表示这个事件是事件。这行接下来的 2 个整数表示以为根的子树中的每个节点长出了个果子。
如果是,表示这个事件是事件。这行接下来一个整数,表示这次询问涉及个树枝。接下来对整数, 每个树枝从节点到节点。
由于果子数可能非常多,请输出这个数模的结果。
输出格式
对于每个事件,输出询问的果子数。
样例输入
5
1 2
2 3
2 4
1 5
3
0 1 1
0 2 3
1 2 3 1 1 4
样例输出
13