#ATarc174e. [ARC174E] Existence Counting

[ARC174E] Existence Counting

题目描述

给定整数 N,KN,K。现在考虑所有满足以下条件的长度为 KK 的数列 a=(a1,a2,,aK)a=(a_1,a_2,\dots,a_K)

  • aia_i 是满足 1aiN1 \le a_i \le N 的整数;
  • aa 的所有元素互不相同。

将所有可能的数列 aa 按照字典序排列,得到一个“数列的集合” ss

现在给定集合 ss 中的一个数列 PP,对于每个整数 t=1,2,,Nt=1,2,\dots,N,请回答以下问题:

  • 满足下列所有条件的数列 bb 的个数,模 998244353998244353 后的结果是多少?
    • 数列 bb 存在于集合 ss 中;
    • 数列 bb 中包含整数 tt
    • 数列 bb 的字典序不大于数列 PP

关于数列的字典序:数列 A=(A1,,AA)A=(A_1,\ldots,A_{|A|}) 的字典序严格小于数列 B=(B1,,BB)B=(B_1,\ldots,B_{|B|}),当且仅当满足以下两条之一:

  1. A<B|A| < |B|(A1,,AA)=(B1,,BA)(A_1,\ldots,A_{|A|}) = (B_1,\ldots,B_{|A|})
  2. 存在整数 1imin{A,B}1 \leq i \leq \min\{|A|,|B|\},使得
    • (A1,,Ai1)=(B1,,Bi1)(A_1,\ldots,A_{i-1}) = (B_1,\ldots,B_{i-1})
    • Ai<BiA_i < B_i

输入格式

输入通过标准输入给出,格式如下:

NN KK P1P_1 P2P_2 \dots PKP_K

输出格式

共输出 NN 行。
ii 行输出当 t=it=i 时问题的答案。

样例 1

输入

4 2
3 2

输出

5
5
4
2

样例 2

输入

18 13
5 13 11 2 18 1 10 15 17 4 12 7 3

输出

925879409
905921009
665544804
665544719
783035803
349952762
349952758
349952757
349952757
349921178
212092637
710350150
378895603
129113201
129111892
129098081
129096772
110181652

说明/提示

限制条件

  • 输入均为整数。
  • 1KN3×1051 \le K \le N \le 3 \times 10^5
  • PP 满足题目中的条件。

样例解释 1

在本样例中,N=4,K=2N=4,K=2。此时,集合 $s=((1,2),(1,3),(1,4),(2,1),(2,3),(2,4),(3,1),(3,2),(3,4),(4,1),(4,2),(4,3))$。在集合 ss 中,且字典序不大于 (3,2)(3,2) 的数列中:

  • 包含 11 的有 (1,2),(1,3),(1,4),(2,1),(3,1)(1,2),(1,3),(1,4),(2,1),(3,1)55 个;
  • 包含 22 的有 (1,2),(2,1),(2,3),(2,4),(3,2)(1,2),(2,1),(2,3),(2,4),(3,2)55 个;
  • 包含 33 的有 (1,3),(2,3),(3,1),(3,2)(1,3),(2,3),(3,1),(3,2)44 个;
  • 包含 44 的有 (1,4),(2,4)(1,4),(2,4)22 个。

由 ChatGPT 4.1 翻译