P15774 [JAG 2025 Summer Camp #2] Double 01 on Tree
题目描述
Ryan 有一棵 $N$ 个节点的有根树,每个节点上写有一个数字 $0$ 或 $1$。
Ryan 的朋友也有一棵有根树,每个节点上写有一个数字 $0$ 或 $1$。设这棵树的节点数为 $M$。
Ryan 想将这 $N + M$ 个节点排成水平的一行。这里,对于每个节点,不允许它的任何祖先出现在它的右侧。注意,Ryan 的树中的节点与他朋友的树中的节点之间没有任何约束。
排列好节点后,令 $X$ 为从左到右读取节点上数字得到的序列。Ryan 希望最小化 $X$ 的**逆序数**。请求出 $X$ 可能的最小逆序数。
由于 Ryan 有 $Q$ 个朋友,请对每个朋友分别解决上述问题。
朋友树上节点所写的数字是以加密形式给出的。具体细节请参见输入格式部分的说明。
输入格式
输入包含一个测试用例,格式如下。
$$
\begin{aligned}
& N \\
& P_2 \ P_3 \ \ldots \ P_N \\
& V_1 \ V_2 \ \ldots \ V_N \\
& Q \\
& M_1 \\
& P_{1,2} \ P_{1,3} \ \ldots \ P_{1,M_1} \\
& U_{1,1} \ U_{1,2} \ \ldots \ U_{1,M_1} \\
& M_2 \\
& P_{2,2} \ P_{2,3} \ \ldots \ P_{2,M_2} \\
& U_{2,1} \ U_{2,2} \ \ldots \ U_{2,M_2} \\
& \vdots \\
& M_Q \\
& P_{Q,2} \ P_{Q,3} \ \ldots \ P_{Q,M_Q} \\
& U_{Q,1} \ U_{Q,2} \ \ldots \ U_{Q,M_Q}
\end{aligned}
$$
第一行包含一个整数 $N$($1 \leq N \leq 200\,000$),表示 Ryan 的树的节点数。
第二行包含 $N - 1$ 个整数。每个 $P_i$($2 \leq i \leq N$,$1 \leq P_i < i$)表示节点 $i$ 的父节点是节点 $P_i$。注意节点 $1$ 是树的根,$P_1$ 未给出。
第三行包含 $N$ 个整数。每个 $V_i$($1 \leq i \leq N$,$0 \leq V_i \leq 1$)表示写在节点 $i$ 上的数字。
第四行包含一个整数 $Q$($1 \leq Q \leq 100\,000$),表示 Ryan 的朋友数量。
对于每个朋友 $k$($1 \leq k \leq Q$),他们的树的信息按以下格式给出:
- 第一行包含一个整数 $M_k$($1 \leq M_k$),表示第 $k$ 个朋友的树的节点数。
- 第二行包含 $M_k - 1$ 个整数。每个 $P_{k,i}$($2 \leq i \leq M_k$,$1 \leq P_{k,i} < i$)表示节点 $i$ 的父节点是节点 $P_{k,i}$。注意节点 $1$ 是树的根,$P_{k,1}$ 未给出。
- 第三行包含 $M_k$ 个整数。每个 $U_{k,i}$($1 \leq i \leq M_k$,$0 \leq U_{k,i} \leq 1$)表示第 $k$ 个朋友的树上节点 $i$ 的**加密**数字。
此外,所有 $M_k$($1 \leq k \leq Q$)的总和不超过 $200\,000$。
### 解密朋友树上节点的数字
令 $X_0 = 0$,对于每个朋友 $k$($1 \leq k \leq Q$),令 $X_k$ 表示第 $k$ 个朋友的答案。第 $k$ 个朋友的树上节点 $i$ 所写的**实际**值 $V_{k,i}$($1 \leq k \leq Q$,$1 \leq i \leq M_k$,$0 \leq V_{k,i} \leq 1$)由以下公式确定:
$$
V_{k,i} = (\text{powmod}(X_{k-1}, i, 998244353) + U_{k,i}) \mod 2.
$$
这里,$\text{powmod}(a, b, m)$ 表示 $(a^b \mod m)$。
输出格式
输出 $Q$ 行。第 $i$ 行应包含一个整数,表示 Ryan 与他的第 $i$ 个朋友对应的最小可能逆序数。
说明/提示
解密后的样例如下所示:
```
6
1 1 2 3 3
0 1 1 0 0 0
4
4
1 2 2
1 0 1 0
6
1 1 2 3 3
0 0 1 1 0 1
1
1
15
1 2 3 2 5 6 2 2 9 10 1 12 13 12
1 1 1 0 1 1 0 0 1 0 0 1 1 0 1
```
翻译由 DeepSeek V3.2 完成