#1354. 丑国传说 · 收税

丑国传说 · 收税

题目背景

由于举办选丑大赛消耗了太多钱财,ac 决定派出 Push_Y 去收税。

题目描述

丑国由 nn 座城市组成,编号 11 的为首都。这 nn 座城市由 n1n-1 条长度为 11 的双向道路连接。从编号为 xx 的城市出发,往远离首都的方向(即往儿子节点走),距离不超过 hh 的就是这座城市要收税的范围。

ii 座城市将要上缴 aia_i 的所得税。但由于收税官 Push_Y 很喜欢异或,因此每座城市最终上缴的所得税将是在其收税范围内每座城市应缴税额的异或和。

Push_Y 将向你提出 mm 个询问,他将问你城市 xx 在收税距离为 hh 时将收到多少千元的所得税。

简化版题意:

给定一棵 nn 个点的树,根节点为 11 号点,第 ii 个点的点权为 aia_idepudep_u 表示 uu 点的深度,根节点的深度为 11qq 次询问,每次给定两个整数 x,hx,h,表示询问 uson(x)depudepxhai\bigoplus_{u\in son(x)\land dep_u-dep_x\le h}a_i 除以 10001000 后的值。

其中 i=1ni\bigoplus_{i=1}^ni 表示 $1\operatorname{xor} 2\operatorname{xor}\cdots\operatorname{xor} n$。

此处 \land 是“且”,xor\operatorname{xor} 是异或。

输入

第一行两个正整数 n,mn,m,表示城市数和询问数。

第二行 nn 个正整数 aia_i, 表示每座城市应缴的粮食。

第三行 n1n-1 个正整数,其中第 ii 个数 fif_i 表示城市 i+1i+1 与城市 fif_i 有一条路相连。

从第 44 行开始 mm 行,每行两个正整数 x,hx,h,表示一组询问。

输出

对于每组询问,输出一行,一个实数,表示这座城市收取的粮食。

答案保留三位小数。

6 3
604 545 402 378 25 13
1 2 2 3 3
1 2
3 0
2 4
0.149
0.402
0.733
6 3
6 5 4 3 2 1
1 2 2 3 3
1 2
3 0
2 4
0.004
0.004
0.001

数据范围

对于 30%30\% 的数据,1n,m1031\le n,m\le 10^3

对于 70%70\% 的数据,1n,m5×1041\le n,m\le5 \times 10^4。其中有 20%20\% 的数据是链。

对于 100%100\% 的数据,1n,m1061\le n,m\le 10^61ai1091 \le a_i \le 10^91xn1\le x \le n, 0hn0 \le h \le n