luogu#P8882. 成熟时追随原神

成熟时追随原神

题目背景

可莉喜欢生活在树上。

画师 pid:4787895

题目描述

可莉生活在一颗有根树上,初始节点从 11nn 编号。为了方便可莉的出行,蒙德人决定从每个非叶子节点出发,修建一条新道路。具体而言,对与每个非叶子节点 uu,蒙德人会从其子节点中均匀随机选取一个点 vv,并在 uuvv 之间修建一条新道路。显然,这些新修建的道路连成了许多的连通块。为了帮助他们的修建,你需要告诉蒙德人,连通块个数的期望是多少。

可莉听说这个任务后,认为它对于你而言太简单了。因此,她决定添加一些对于树的修改操作:

  • Add u\text{Add}\ u:在节点 uu 下添加一子结点,编号为 n+in+i,其中 ii 为操作编号。保证操作前结点 uu 存在。
  • Del u\text{Del}\ u:删除结点 uu。保证操作前结点 uu 存在且为叶子结点。
  • Upd u\text{Upd}\ u:将树根变为 uu。保证操作前结点 uu 存在。

同时,对于任意时刻,保证树不会被删空。

对于初始的树和每次修改之后所得的树,你都需要回答一遍上述的问题。注意,mm 次修改之间不独立,但是蒙德人每次修建的新道路不受上一次结果的影响。

输入格式

第一行,一个整数 nn,表示初始树的大小。

第二行至第 nn 行,每行输入一个整数,第 ii 行将给出 fif_i,即初始树中 ii 的父节点。初始时,节点 11 为树根。

n+1n+1 行,一个整数 mm,表示修改操作个数。

n+2n+2 行至第 n+m+1n+m+1 行,每行输入一个修改操作,形式见 题目描述

输出格式

输出共 m+1m+1 行。

11 行,为初始时的答案。

22 行至第 m+1m+1 行,第 ii 行应输出第 i1i-1 次修改操作后的答案。

所有输出均对 998244353998244353 取模。具体而言,如果答案为 pq\frac{p}{q},你应当输出一个满足 xqp(mod998244353)xq\equiv p\pmod {998244353}xx

2
1
4
Add 1
Upd 2
Del 3
Del 1
1
2
1
1
1

提示

$$\begin{array}{|c|c|c|c|}\hline \textbf{测试点编号}& { n\le} & {m\le} & \textbf{特殊性质} \cr\hline 1\sim 3 & 5 & 5 & - \cr\hline 4\sim 7 & 1000 & 1000 &- \cr\hline 8\sim 10 & 10^5 & 0 & - \cr\hline 11\sim 13 & 10^5 & 2\times 10^5 & \textbf{AB}\cr\hline 14\sim 16 & 2\times 10^5 & 5\times 10^4 & \textbf{A} \cr\hline 17\sim 20 & 2\times 10^5 & 2\times 10^5 & - \cr\hline \end{array} $$
  • 特殊性质 A\textbf{A}:保证不存在 Upd\text{Upd} 操作。
  • 特殊性质 B\textbf{B}:保证不存在 Del\text{Del} 操作。

对于 100%100\% 的数据,1n,m2×1051\le n,m\le 2\times 10^5。保证 1fi<i1\le f_i<i