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$