#S1002. [POI2015] Odwiedziny

[POI2015] Odwiedziny

题目描述

<给定一棵n个点的树,树上每条边的长度都为 11,第 ii 个点的权值为 aia_iByteasarByteasar 想要走遍这整棵树,他会按照某个1到n的全排列 bbn1n-1 次,第 ii 次他会从 bib_i 点走到 bi+1b_{i+1} 点,并且这一次的步伐大小为cic_i
对于一次行走,假设起点为 xx ,终点为 yy,步伐为 kk,那么 ByteasarByteasar 会从 xx 开始,每步往前走 kk 步,如果最后不足 kk 步就能到达 yy,那么他会一步走到 yy
请帮助 ByteasarByteasar 统计出每一次行走时经过的所有点的权值和。

</p>

输入格式

第一行包含一个正整数 n(2<=n<=50000)n(2<=n<=50000)。表示节点的个数。
第二行包含 nn 个正整数,其中第 ii 个数为ai(1<=ai<=10000)a_i(1<=a_i<=10000) ,分别表示每个点的权值。
接下来 n1n-1 行,每行包含两个正整数u,v(1<=u,v<=n)u,v(1<=u,v<=n),表示 uuvv 之间有一条边。
接下来一行包含 nn 个互不相同的正整数,其中第 ii 个数为 bi(1<=bi<=n)b_i(1<=b_i<=n),表示行走路线。
接下来一行包含 n1n-1 个正整数,其中第 ii 个数为ci(1<=ci<n)c_i(1<=c_i<n),表示每次行走的步伐大小。

</p>

输出格式

包含 n1n-1 行,每行一个正整数,依次输出每次行走时经过的所有点的权值和

</p>
5
1 2 3 4 5
1 2
2 3
3 4
3 5
4 1 5 2 3
1 3 1 1
10
6
10
5