#ZK1042. 树上数值扩散
树上数值扩散
题目描述
给一颗个节点的有根树,节点从到编号,号节点为根节点,树的点和边有非负整数权值。初始时所有点点权为,边权输入给出。
有次操作,每次操作为两种操作中的一种:
第一种操作:选择一个编号为的节点,给定非负数值,节点数值增加,同时将数值向下扩散,经过边权为的边后值会变为,其中为按位与运算。
这个节点的每个子节点都会得到一个被与其父节点连接的边的边权按位与运算后得到的值,将增加到对应的子节点上,以此类推向下传递,直到叶子节点。
第二种操作:询问编号为的节点当前的权值。
输入格式
第一行一个整数,表示节点数量。
接下来行,每行三个整数,表示和间有一条边权为的无向边。
接下来一行一个整数,表示有个操作。
接下来行,每行第一个数表示操作类型,为号操作,为号操作。
若为号操作,后面有两个数和,表示点增加并扩散的数值。
若为号操作,后面有一个数,表示询问当前点上的数值。
输出格式
对于每个号操作,每次输出一行一个整数,表示询问的结果。
输入输出样例 #1
输入 #1
5
1 2 2
1 3 1
3 4 2
3 5 3
4
1 1 3
1 3 3
2 4
2 5
输出 #1
2
4
说明/提示
对于 的数据:。
对于 的数据:,,。
相关
在下列比赛中:
京公网安备 11011102002149号