uoj#P1117. 【UER #14】蛋糕
【UER #14】蛋糕
在跳蚤王国的甜品店里,店员们正准备为甜品节布置精美的蛋糕塔。
甜品塔共有 $n$ 个摆放节点,整体呈树状结构分布,其中顶部的主节点(编号为 $1$)代表最终呈现在橱窗中央的压轴蛋糕,且主节点下接有其他支架(即根节点不是叶子节点)。甜品塔最底层的支架(即叶子节点)需要由你手动摆放不同甜度的糖果。
除最底层支架外,每个中间节点 $u$ 都对应一种固定的甜度融合工艺,用参数 $a_u \in \{0,1\}$ 表示:
摆放工艺($a_u = 0$):此节点甜度 $b_u$ 取其所有直接子节点甜度的 $\operatorname{mex}$ 值。即 $b_u = \operatorname{mex}\{b_v \mid v \in \operatorname{son}(u)\}$。($\operatorname{mex}(S)$ 表示未在集合 $S$ 中出现过的最小非负整数,例如 $\operatorname{mex}\{0,0,2\} = 1$)
品鉴工艺($a_u = 1$):此节点甜度 $b_u$ 取其所有直接子节点甜度的最小值。即 $b_u = \min\{b_v \mid v \in \operatorname{son}(u)\}$。
你可以在每个底层支架 $v$ 上独立摆放一块甜度为 $b_v$ 的糖果($b_v$ 为 $0 \sim n$ 之间的整数)。随后,整座甜品塔会自下而上计算出每个节点的甜度。
甜品节的评审团提出了 $q$ 次独立的询问。每次询问给定一个目标甜度 $x$,请你判断:是否能通过合理设计底层支架上的糖果甜度,使得主节点(根节点 $1$)最终计算出的甜度恰好等于 $x$?(不同询问之间互不影响,可以采用不同的摆放方案)
给定一棵有 $n$ 个节点的有根树,根节点为 $1$。没有儿子的节点称为叶子节点,保证根节点不是叶子节点。
每个非叶子节点 $u$ 有一个参数 $a_u\in\{0,1\}$。你可以在每个叶子节点 $v$ 上独立填入一个 $0\sim n$ 的整数 $b_v$。随后,自下而上计算所有非叶子节点的权值:
- 若 $a_u=0$,则 $b_u=\operatorname{mex}\{b_v\mid v\in\operatorname{son}(u)\}$。
- 若 $a_u=1$,则 $b_u=\min\{b_v\mid v\in\operatorname{son}(u)\}$。
其中,$\operatorname{son}(u)$ 为 $u$ 的儿子集合,$\operatorname{mex}(S)$ 表示不属于 $S$ 的最小非负整数。例如,$\operatorname{mex}\{0,0,2\}=1$。
有 $q$ 次互相独立的询问。对于每次询问给定的非负整数 $x$,判断是否存在一种填数方式,使根节点的权值等于 $x$。不同询问可以采用不同的填数方式。
输入格式
本题有多组测试数据。
第一行包含两个整数 $c,t$,分别该测试点表示满足的子任务编号与测试数据组数。
对于每组测试数据:
- 第一行包含两个正整数 $n,q$。
- 第二行包含 $n-1$ 个整数 $p_2,p_3,\ldots,p_n$。$p_i$ 表示节点 $i$ 的父节点,保证这些边构成一棵以 $1$ 为根的树。不保证 $p_i < i$。
- 第三行包含 $n$ 个整数 $a_1,a_2,\ldots,a_n$。叶子节点的 $a_i$ 没有实际意义,但仍须读入。
- 第四行包含 $q$ 个非负整数 $x_1,x_2,\ldots,x_q$。
输出格式
按照输入顺序,对每次询问输出一行。若存在合法的填数方式,输出 Yes;否则输出 No。
2 3
4 6
1 1 1
0 1 0 1
0 1 2 3 4 5
4 4
1 2 3
1 1 1 0
3 4 5 1000000000
9 4
1 2 1 4 1 6 6 6
0 0 1 0 1 0 1 0 1
2 3 4 9
Yes
Yes
Yes
Yes
No
No
Yes
Yes
No
No
Yes
Yes
No
No
第一组数据的根节点有三个叶子儿子,可以得到 $0,1,2,3$,无法得到更大的数。
第二组数据中,所有非叶子节点均采用 $\min$ 运算,根节点可以得到 $0\sim4$ 中的任意整数。叶子节点的填数上界为 $n$,包含 $n$。
第三组数据中,根节点的三个儿子分别可以得到 $0\sim1$、$0\sim1$ 和 $0\sim3$ 中的整数,因此根节点可以得到 $0\sim3$ 中的任意整数。
样例二
见附件下载。
该样例满足子任务 $4$ 的限制。
样例三
见附件下载。
该样例满足子任务 $7$ 的限制。
数据范围与约定
对于所有测试数据,保证:
- $1\le t\le10^5$;
- $2\le n\le2\times10^5$,$1\le q\le2\times10^5$;
- $1\le p_i\le n$,输入构成一棵根节点为 $1$ 的树,且根节点有至少一个儿子;
- $a_i\in\{0,1\}$;
- $0\le x_i\le10^9$;
- $\sum n\le5\times10^5$,$\sum q\le5\times10^5$。
本题采用子任务捆绑评分,通过一个子任务的所有测试点才能获得该子任务的分数。
| 子任务 | 分值 | $n\le$ | 特殊性质 |
|---|---|---|---|
| $1$ | $11$ | $5$ | $t\le10$ |
| $2$ | $13$ | $10$ | $t\le10$ |
| $3$ | $29$ | $2000$ | $\sum n\le4000$ |
| $4$ | $17$ | $10^5$ | 所有节点的 $a_i=0$ |
| $5$ | $5$ | $10^5$ | 所有询问满足 $x_i\le1$ |
| $6$ | $13$ | $10^5$ | $\sum n\le2\times10^5$ |
| $7$ | $12$ | $2\times10^5$ | 无 |
时间限制:0.5 秒。
空间限制:512 MB。