luogu#P11295. [NOISG2022 Qualification] Dragonfly

    ID: 35140 远端评测题 5000ms 1024MiB 尝试: 0 已通过: 0 难度: 6 上传者: 标签>2022树链剖分整体二分NOISG(新加坡)

[NOISG2022 Qualification] Dragonfly

题目背景

在植物园和碧山公园周围的池塘中,经常可以看到蜻蜓。在一个更密集的森林区域中,Benson 记录了 nn 个池塘,以及蜻蜓可以捕食的昆虫数量和种类。

在池塘 ii,共有 bib_i 只昆虫,这些昆虫属于种类 sis_i

此外,还有 n1n-1 条小径,每条小径连接两池塘 uju_jvjv_j(双向)。

Benson 抓住了 dd 只蜻蜓,并计划依次释放到池塘 11。每只蜻蜓有一个目标池塘 hk1h_k \neq 1,会沿着最短路径飞到目标池塘,并在经过的每个池塘中捕食昆虫(包括池塘 11)。

每次捕食会减少池塘中 11 只昆虫(如果昆虫数量不为 00)。需要帮助 Benson 计算每只蜻蜓的飞行过程中捕食到的不同种类昆虫的数量。

题目描述

请确定每只蜻蜓的飞行过程中捕食到的不同种类昆虫的数量。

输入格式

  • 第一行包含两个整数 nndd,分别表示池塘数量和蜻蜓数量。
  • 第二行包含 nn 个整数 b1,b2,,bnb_1, b_2, \dots, b_n,表示每个池塘的昆虫数量。
  • 第三行包含 nn 个整数 s1,s2,,sns_1, s_2, \dots, s_n,表示每个池塘昆虫的种类。
  • 第四行包含 dd 个整数 h1,h2,,hdh_1, h_2, \dots, h_d,表示每只蜻蜓的目标池塘。
  • 接下来 n1n-1 行,每行包含两个整数 uju_jvjv_j,表示一条连接池塘 uju_jvjv_j 的小径。

输出格式

输出一行包含 dd 个整数,第 kk 个整数表示第 kk 只蜻蜓捕食到的不同种类昆虫数量。

5 6
4 1 0 3 1
1 3 2 2 1
2 5 4 3 4 2
5 2
2 1
1 4
1 3
2 1 2 1 1 0
7 4
0 2 4 4 0 1 3
6 1 6 2 2 2 1
7 5 2 4
4 1
4 5
6 2
1 6
1 3
6 7
2 1 1 1

提示

【样例解释】

对于样例 11,第一只蜻蜓飞向池塘 22,捕食 11 只种类 11 的昆虫和 11 只种类 22 的昆虫。第二只蜻蜓飞向池塘 55,捕食种类 11 的昆虫,总共捕食 11 个种类。

对于样例 22,每只蜻蜓飞行后捕食到的不同种类分别是 2,1,1,12, 1, 1, 1

【数据范围】

  • 2n2×1052 \leq n \leq 2 \times 10^5
  • 1d2×1061 \leq d \leq 2 \times 10^6
  • 1sin1 \leq s_i \leq n0bid0 \leq b_i \leq d1uj,vj<n1 \leq u_j, v_j < n
子任务编号 分值 额外限制条件
11 1010 n,d1000n, d \leq 1000
22 bi=db_i = d
33 1212 bi10b_i \leq 10
44 uj=ju_j = j, vj=j+1v_j = j + 1
55 3737 si=is_i = i
66 1616 d2×105d \leq 2 \times 10^5
77 33 无额外限制