AT_abc459_e [ABC459E] Select from Subtrees
题目描述
有一个 $N$ 个结点的有根树,节点编号为 $1 \sim N$,$1$ 是根,$i$ 的父亲是 $P_i$。
现在点 $i$ 上有 $C_i$ 颗糖。所有糖两两不同。现在,有 $N$ 只松鼠,第 $i$ 只松鼠必须取 $i$ 的子树中的 $D_i$ 颗糖并且吃下去。
求不同的方案的总数,$\bmod \ 998244353$。
如果在两个方案中,有一只松鼠吃的糖的集合不同,那么这两个方案就是不同的。
如果无方案,输出 $0$。
输入格式
第一行一个整数 $N$,意义见题面。
第二行 $N - 1$ 个整数 $P_2, P_3, \dots, P_N$,意义见题面。
第三行 $N$ 个整数 $C_i$,意义见题面。
第四行 $N$ 个整数 $D_i$,意义见题面。
输出格式
一行一个整数,表示你求出的方案数 $\bmod \ 998244353$。
说明/提示
## 样例 1 解释
我们把在节点 $1$ 的糖称作 $1$ 号糖,在节点 $2$ 的糖称作 $2, 3$ 号糖,以此类推。
松鼠们可以以以下方式吃糖:
- $1$ 号松鼠吃 $3$ 号糖。
- $2$ 号松鼠吃 $2$ 号糖。
- $3$ 号松鼠吃 $4, 7, 9$ 号糖。
- $4$ 号松鼠吃 $6$ 号糖。
- $5$ 号松鼠吃 $8$ 号糖。
注意到下面的方案与上面的方案不同:
- $1$ 号松鼠吃 $\bold{2}$ 号糖。
- $2$ 号松鼠吃 $\bold{3}$ 号糖。
- $3$ 号松鼠吃 $4, 7, 9$ 号糖。
- $4$ 号松鼠吃 $6$ 号糖。
- $5$ 号松鼠吃 $8$ 号糖。
总共有 $144$ 种方案,所以输出 $144 \bmod 998244353 = 144$。
## 样例 2 解释
两个节点各有一颗糖,所以两个松鼠无法按照题目的要求吃糖。
所以,输出 $0$。
## 样例 3 解释
注意输出答案时要 $\bmod \ 998244353$
## 数据范围
- $1 \le N \le 2 \times 10^5$
- $1 \le P_i \le N$
- $1 \le C_i \le 10^9$
- $\sum D_i \le 10^6$