F. [R16F]知识点学习3

    Type: Default 1000ms 512MiB

[R16F]知识点学习3

You cannot submit for this problem because the contest is ended. You can click "Open in Problem Set" to view this problem in normal mode.

时空限制

1S/512M

题目描述

nn 个知识点,想学习第 ii 个知识点,必须先学习第 pip_i 个知识点,我们称 pip_iii 的前置知识点。保证 pi<ip_i< i,如果 pi=0p_i=0 说明第 ii 个知识点可以直接学习。

定义合法的学习方案为学习完这 nn 个知识点的顺序,满足知识点 pip_i 在知识点 ii 前学习。

给定一个合法的学习方案 AA,求有多少种字典序小于 AA 的合法的学习方案,对 998244353998244353 取模。

对于两个合法的学习方案 XXYY,如果 Xi<YiX_i<Y_i 且对于 j<ij<i 均有 Xj=YjX_j=Y_j,那么我们称 XX 的字典序小于 YY

格式

输入格式

第一行包含一个整数 nn,表示知识点的数量。

第二行包含 nn 个整数 pip_i,分别表示每个知识点的前置知识点。

第三行包含 nn 个整数 AiA_i,表示给定的学习方案。数据保证 AA 是一个合法的学习方案。

输出格式

输出一个整数表示字典序小于 AA 的合法的学习方案的数量,对 998244353998244353 取模。

样例

样例输入 #1

6
0 1 0 3 1 5
3 1 5 2 4 6

样例输出 #1

36

样例输入 #2

6
0 1 0 3 1 5
1 2 3 4 5 6

样例输出 #2

0

数据规模

对于 10%10\% 的数据, n10n\leq 10

对于 30%30\% 的数据, n200n\leq 200

对于 60%60\% 的数据, n3000n\leq 3000

对于 100%100\% 的数据, 1n4×1051\leq n\leq 4\times 10^50pi<i0\leq p_i< i1Ain1\leq A_i\leq n。数据保证 AA 是一个合法的学习方案。

代码源挑战赛 Round 16

Not Attended
Status
Done
Rule
DMY
Problem
6
Start at
2025-6-13 20:00
End at
2025-6-13 21:30
Duration
1.5 hour(s)
Host
Partic.
507