小 $\omega$ 的树($\texttt{b}$)
题目描述
小 $\omega$ 有两棵有根树 $T_1,T_2$,其中点无标号,儿子有顺序(初始按编号大小顺序)。小 $\omega$ 还有一个集合 $S$,他会进行 $q$ 次操作,每次在集合中加入或删除一个元素 $x$。定义两棵树的相似程度为将 $T_1$ 的每个点替换为一条链,其中链的长度 $len \in S$,链头接父亲,链尾接所有儿子后,$T_1=T_2$ 的方案数(替换同时发生)。 小 $\omega$ 希望知道每次操作后两棵树的相似程度,对 $10^9+7$ 取模。
此处提到的链长度指点数,$T_1=T_2$ 指 $T_1$ 和 $T_2$ 同构,儿子有顺序指去掉父亲后儿子按照相对顺序同构。
输入格式
第一行两个整数 $n_1,n_2$,表示 $T_1,T_2$ 的结点个数。
第二行 $n_1-1$ 个整数 $fa_{1,2},fa_{1,3},\cdots ,fa_{1,n_1}$,表示 $T_1$ 中 $i$ 的父亲($fa_{1,i}
第三行 $n_2-1$ 个整数 $fa_{2,2},fa_{2,3},\cdots ,fa_{2,n_2}$,表示 $T_2$ 中 $i$ 的父亲($fa_{2,i}
第四行一个整数 $q$,表示询问个数。
接下来 $q$ 行,每行为 $1\ x$ 或 $2\ x$,其中 $1$ 表示加入元素 $x$,$2$ 表示删除。保证加入 $x$ 时,$x$ 原本不属于 $S$;删除 $x$ 时,$x$ 原本属于 $S$。
输出格式
$q$ 行,每行一个答案,对 $10^9+7$ 取模。
样例一
input
5 8
1 1 3 3
1 1 2 3 3 5 6
5
1 1
1 2
1 3
2 1
2 2
output
0
1
1
0
0
样例二
见附件中的 ex_b2.in 和 ex_b2.ans,此样例满足子任务 $2$。
样例三
见附件中的 ex_b3.in 和 ex_b3.ans,此样例满足子任务 $3$。
限制与约定
本题采用捆绑测试。
令 $n=\max(n_1,n_2)$。
对于 $100\%$ 的数据,满足 $1\leq x\leq n\leq 800,1\leq q\leq 100$。
| 子任务编号 | 分值 | $n\leq$ | $q\leq$ |
|---|---|---|---|
| $1$ | $20$ | $10$ | $10$ |
| $2$ | $20$ | $100$ | $100$ |
| $3$ | $60$ | $800$ | $100$ |
