#ABC295E. 第 K 个数

第 K 个数

第 K 个数

题目描述

我们有一个长度为 NN 的序列 A=(A1,A2,…,AN)A=(A_1,A_2,\dots,A_N),其中每个元素都是 00 到 MM 之间的整数(含两端)。

Snuke 将按顺序执行以下操作 1 和 2。

  1. 对每个满足 Ai=0A_i=0 的 ii,独立地从 11 到 MM 中等概率随机选择一个整数,并用该整数替换 AiA_i。
  2. 将 AA 按升序排序。

请输出这两步操作后 AKA_K 的期望值对 998244353998244353 取模的结果。

如何输出对 998244353998244353 取模的数? 可以证明所求期望值总是有理数。 此外,在本问题的约束下,当该值用两个互质的整数 PP 和 QQ 表示为 PQ\frac{P}{Q} 时,可以证明存在唯一的整数 RR,满足 R×Q≡P(mod998244353)R \times Q \equiv P\pmod{998244353} 且 0≤R<9982443530 \leq R \lt 998244353。请输出这个 RR。

输入格式

输入按以下格式从标准输入给出:

NN MM KK
A1A_1 A2A_2 …\dots ANA_N

输出格式

输出两步操作后 AKA_K 的期望值对 998244353998244353 取模的结果。

样例

3 5 2
2 0 4
3

在操作 1 中,Snuke 会用 11 到 55 之间的整数替换 A2A_2。设这个整数为 xx。

如果 x=1x=1 或 22,两步操作后 A2=2A_2=2。

如果 x=3x=3,两步操作后 A2=3A_2=3。

如果 x=4x=4 或 55,两步操作后 A2=4A_2=4。

因此 A2A_2 的期望值为 2+2+3+4+45=3\frac{2+2+3+4+4}{5}=3。

2 3 1
0 0
221832080

期望值为 149\frac{14}{9}。

10 20 7
6 5 0 2 0 0 0 15 0 0
617586310

数据范围

  • 1≤K≤N≤20001\leq K \leq N \leq 2000
  • 1≤M≤20001\leq M \leq 2000
  • 0≤Ai≤M0\leq A_i \leq M
  • 输入中的所有值均为整数。
难度 提高
通过率 —
尝试 0
通过 0
ID
2651
类型
传统题
Time Limit
4000ms
Memory Limit
1024MiB
上传者
标签