A92147.「2021 营员交流」数串

省选/NOI-

通过率:0%

时间限制:1.00s

内存限制:512MB

题目描述

本题包含三个问题:

  • 问题 0:给定一个长度为 nn 的序列以及它的后缀数组 p\boldsymbol p,求这个序列中有多少个不同的数。
  • 问题 1:给定一个长度为 nn 的排列 p\boldsymbol p,对于所有满足后缀数组为 p\boldsymbol p 的长度为 nn 的序列,求不同的数的数量的最小值
  • 问题 2:给定一个长度为 nn残缺的排列 p~\tilde {\boldsymbol p} (有 kk 个位置未知),对于所有 k!k! 种完整的排列,求问题 1 的答案之和

在不同的测试点中,你将可能需要回答不同的问题。我们将用 op\mathrm{op} 来指代你需要回答的问题编号 (对应上述 0,1,20, 1, 2)。

在问题 2 中,由于答案可能很大,因此你只需要输出答案对 998244353998244353 取模的结果即可。

输入格式

第一行包含两个非负整数 n,opn, \mathrm{op},分别表示鼠的数量和子问题的类型。

如果 op=0\mathrm{op} = 0,则第二行包含 nn 个正整数 a1,a2,,ana_1, a_2, \ldots, a_n,表示每只鼠的体型大小;第三行包含 nn 个正整数 p1,p2,,pnp_1, p_2, \cdots, p_n,表示小 S 得到的排列。

如果 op=1\mathrm{op} = 1,则第二行包含 nn 个正整数 p1,p2,,pnp_1, p_2, \ldots, p_n,表示小 S 得到的排列。

如果 op=2\mathrm{op} = 2,则第二行包含 nn 个非负整数 p~1,p~2,,p~n\tilde p_1, \tilde p_2, \ldots, \tilde p_n,表示小 S 的残缺的排列。p~i=0\tilde p_i = 0 表示这一个值被鼠 "咬掉" 的,否则 p~i\tilde p_i 表示排列中第 ii 位的值。

每行中的两个整数之间均用一个空格隔开,鼠的编号是从 11 开始的。

输出格式

输出一行一个整数,表示对应问题的答案对 998244353998244353 取模的结果。

输入输出样例

  • 输入#1

    3 0
    10 20 30
    1 2 3
    

    输出#1

    3
    
  • 输入#2

    3 1
    1 2 3
    

    输出#2

    2
    
  • 输入#3

    3 2
    0 0 3
    

    输出#3

    5
    

说明/提示

对于所有的测试点,均满足 1n5×105;1ai109;1pin;0p~in1 \leq n \leq 5 \times 10^5; 1 \leq a_i \leq 10^9; 1 \leq p_i \leq n; 0 \leq \tilde p_i \leq n,当 op=2\mathrm{op} = 2 时存在至少一个 ii 使得 p~i=0\tilde p_i = 0

问题类型 (op=\mathrm{op} =) 测试点编号 nn 其它性质
0 1 10\leq 10
0 2 5×105\leq 5 \times 10^5
0 3 5×105\leq 5 \times 10^5
1 4 =3= 3
1 5 =5= 5
1 6 10\leq 10
1 7 500\leq 500
1 8 5000\leq 5000
1 9 5000\leq 5000
1 10 50000\leq 50000
1 11 50000\leq 50000
1 12 5×105\leq 5 \times 10^5 pi=ip_i = i
1 13 5×105\leq 5 \times 10^5
1 14 5×105\leq 5 \times 10^5
2 15 =3= 3
2 16 =5= 5
2 17 10\leq 10
2 18 500\leq 500 满足 p~i=0\tilde p_i = 0ii 不超过 55
2 19 5000\leq 5000
2 20 5000\leq 5000 满足 p~i=0\tilde p_i = 0ii 不超过 55
2 21 50000\leq 50000
2 22 50000\leq 50000 所有 p~i=0\tilde p_i = 0
2 23 5×105\leq 5 \times 10^5 存在整数 tt (1t<n1 \leq t < n),满足 p~i={iit0i>t\tilde p_i = \begin{cases} i & i \leq t \\ 0 & i > t \end{cases}
2 24 5×105\leq 5 \times 10^5 存在整数 tt (1t<n1 \leq t < n),满足 p~i=0\tilde p_i = 0 当且仅当 i>ti > t
2 25 5×105\leq 5 \times 10^5
首页