[国家集训队] Tree II
题目描述
一棵 $n$ 个点的树,每个点的初始权值为 $1$。
对于这棵树有 $q$ 个操作,每个操作为以下四种操作之一:
- `+ u v c`:将 $u$ 到 $v$ 的路径上的点的权值都加上自然数 $c$;
- `- u1 v1 u2 v2`:将树中原有的边 $(u_1,v_1)$ 删除,加入一条新边 $(u_2,v_2)$,保证操作完之后仍然是一棵树;
- `* u v c`:将 $u$ 到 $v$ 的路径上的点的权值都乘上自然数 $c$;
- `/ u v`:询问 $u$ 到 $v$ 的路径上的点的权值和,将答案对 $51061$ 取模。
输入输出格式
输入格式
第一行两个整数 $n,q$。
接下来 $n-1$ 行每行两个正整数 $u,v$,描述这棵树的每条边。
接下来 $q$ 行,每行描述一个操作。
输出格式
对于每个询问操作,输出一行一个整数表示答案。
输入输出样例
输入样例 #1
3 2
1 2
2 3
* 1 3 4
/ 1 1
输出样例 #1
4
说明
【数据范围】
对于 $10\%$ 的数据,$1\le n,q \le 2000$;
另有 $15\%$ 的数据,$1 \le n,q \le 5\times 10^4$,没有 `-` 操作,并且初始树为一条链;
另有 $35\%$ 的数据,$1 \le n,q \le 5\times 10^4$,没有 `-` 操作;
对于 $100\%$ 的数据,$1\le n,q \le 10^5$,$0\le c \le 10^4$。
By (伍一鸣)