AT_joi2026final_e JOI ツアー 2 (JOI Tour 2)
题目描述
在 JOI 国有 $N$ 个城镇,编号为 $1$ 到 $N$。此外,该国有 $N-1$ 条道路,编号为 $1$ 到 $N-1$。第 $j$ 条道路 ($1 \leq j \leq N-1$) 连接城镇 $U_j$ 和城镇 $V_j$,可以双向通行。通过若干条道路,可以从任何一个城镇到达其它任意城镇。
JOI 国的每个城镇中都有一家商店。城镇 $i$ ($1 \leq i \leq N$) 的商店售卖纪念品,价格为 $A_i$。
今年,JOI 国计划举办 $M$ 次“旅行团”。第 $k$ 次旅行团($1 \leq k \leq M$)从城镇 $S_k$ 出发,沿着道路到达城镇 $T_k$,途中不会重复经过相同的城镇。注意,第 $k$ 次旅行团会同时经过町 $S_k$ 和 $T_k$。保证 $S_k \neq T_k$。由于 JOI 国的道路结构,每次旅行团的经过城镇序列是唯一确定的。
你打算参加其中一次旅行团,并正好在旅途中经过的两个城镇各买一件纪念品,并且花费要正好等于你的预算。对于每一个给定的预算 $B_q$,你想知道有多少种方案可以做到这一点。
给定 JOI 国的道路、纪念品价格、旅行团信息以及多个候选预算 $B_1,B_2,\ldots,B_Q$,请编程求出,对于每个 $q$ ($1 \leq q \leq Q$),有多少组三元组 $(k,u,v)$ 满足下列所有条件:
- $1 \leq k \leq M$。
- $1 \leq u < v \leq N$。
- 第 $k$ 次旅行团经过了城镇 $u$ 和 $v$。
- $A_u + A_v = B_q$。
输入格式
从标准输入中读取如下数据:
> $N$
$A_1\ A_2\ \cdots\ A_N$
$U_1\ V_1$
$U_2\ V_2$
$\vdots$
$U_{N-1}\ V_{N-1}$
$M$
$S_1\ T_1$
$S_2\ T_2$
$\vdots$
$S_M\ T_M$
$Q$
$B_1\ B_2\ \cdots\ B_Q$
输出格式
输出 $Q$ 行。第 $q$ 行($1 \leq q \leq Q$)应为能够恰好花掉预算 $B_q$ 的选择旅行团和买纪念品方案的种数。
说明/提示
### 子任务
1.(3 分)$N \leq 100$,$M \leq 100$,$Q \leq 100$。
2.(4 分)$N \leq 5\,000$,$U_j = j$($1 \leq j \leq N-1$),$V_j = j+1$($1 \leq j \leq N-1$)。
3.(5 分)$N \leq 5\,000$。
4.(6 分)$Q = 1$,$U_j = j$($1 \leq j \leq N-1$),$V_j = j+1$($1 \leq j \leq N-1$)。
5.(10 分)$Q = 1$。
6.(7 分)$M \leq 1000$,$U_j = j$($1 \leq j \leq N-1$),$V_j = j+1$($1 \leq j \leq N-1$)。
7.(12 分)$M \leq 1000$。
8.(10 分)$N \leq 50\,000$,$M \leq 50\,000$,$U_j = j$($1 \leq j \leq N-1$),$V_j = j+1$($1 \leq j \leq N-1$)。
9.(15 分)$N \leq 50\,000$,$M \leq 50\,000$。
10.(11 分)$U_j = j$($1 \leq j \leq N-1$),$V_j = j+1$($1 \leq j \leq N-1$)。
11.(17 分)无额外条件。
---
### 样例解释 1
首先,每次旅行团所经过的城镇如下:
- 第 1 次旅行团经过城镇 $1,2,3,4$。
- 第 2 次旅行团经过城镇 $1,6$。
- 第 3 次旅行团经过城镇 $2,5$。
- 第 4 次旅行团经过城镇 $3,7,8$。
用 $(k,u,v)$ 表示参加第 $k$ 次旅行团,并在城镇 $u$ 和 $v$ 各买一个纪念品的方法,则对于每个预算,恰好用掉预算的方案如下:
- 恰好用掉预算 $1$ 的方案有 $0$ 种。
- 恰好用掉预算 $2$ 的方案有 $0$ 种。
- 恰好用掉预算 $3$ 的方案有 $4$ 种:$(1,1,2)$,$(1,1,4)$,$(2,1,6)$,$(3,2,5)$。
- 恰好用掉预算 $4$ 的方案有 $2$ 种:$(1,1,3)$,$(1,2,4)$。
- 恰好用掉预算 $5$ 的方案有 $4$ 种:$(1,2,3)$,$(1,3,4)$,$(4,3,8)$,$(4,7,8)$。
- 恰好用掉预算 $6$ 的方案有 $1$ 种:$(4,3,7)$。
- 恰好用掉预算 $16$ 的方案有 $0$ 种。
该组输入满足子任务 $1,3,7,9,11$ 的条件。
---
### 样例解释 2
该组输入满足子任务 $1,2,3,6,7,8,9,10,11$ 的条件。
### 约束条件
- $2 \leq N \leq 100\,000$。
- $1 \leq A_i \leq N$($1 \leq i \leq N$)。
- $1 \leq U_j \leq N$($1 \leq j \leq N-1$)。
- $1 \leq V_j \leq N$($1 \leq j \leq N-1$)。
- 通过若干条道路,可以从任意一个城镇到达其它任意城镇。
- $1 \leq M \leq 200\,000$。
- $1 \leq S_k \leq N$($1 \leq k \leq M$)。
- $1 \leq T_k \leq N$($1 \leq k \leq M$)。
- $S_k \neq T_k$($1 \leq k \leq M$)。
- $1 \leq Q \leq 2\,000$。
- $1 \leq B_1 < B_2 < \cdots < B_Q \leq 2N$。
- 所有输入均为整数。
由 ChatGPT 5 翻译