luogu#P7710. [Ynoi2077] stdmxeypz

[Ynoi2077] stdmxeypz

题目描述

给你一棵边权为 11,且以 11 为根的有根树,每个点有初始为 00 的点权值,定义两个点的距离为其在树上构成的简单路径的长度,需要支持两种操作:

1 a x y z:把 aa 子树中所有与 aa 的距离模 xx 等于 yy 的节点权值加 zz

2 a:查询 aa 节点的权值。

输入格式

第一行两个整数 n,mn,m 表示树的节点数为 nn,有 mm 次操作。

第二行 n1n-1 个整数,第 ii 个数 fif_i 表示树上第 i+1i+1 个节点的父亲节点。

之后 mm 行,每行形如 1 a x y z2 a,表示上述的操作。

输出格式

对于每个 22 操作,输出一行一个整数表示答案。

5 5
1 1 2 1
1 1 5 4 1
1 1 4 1 5
1 2 1 0 4
2 3
2 1
5
0

提示

Idea:nzhtl1477,Solution:nzhtl1477,Code:nzhtl1477,Data:nzhtl1477

对于 100%100\% 的数据,满足 1n,m3×1051\leq n , m\leq 3\times 10^51fii1\leq f_i\leq i1an1\leq a\leq n1xn1\leq x\leq n0y<x0\leq y < x0z<5140 \leq z < 514