题库练习 Conditional Mix
← 上一题 下一题 →

A15402 | Conditional Mix

时间限制1s
内存限制256MB
通过 / 提交0/0

题目描述

Pak Chanek is given an array $a$ of $n$ integers. For each $i$ ( $1 \leq i \leq n$ ), Pak Chanek will write the one-element set $\{a_i\}$ on a whiteboard.

After that, in one operation, Pak Chanek may do the following:

1. Choose two different sets $S$ and $T$ on the whiteboard such that $S \cap T = \varnothing$ ( $S$ and $T$ do not have any common elements).
2. Erase $S$ and $T$ from the whiteboard and write $S \cup T$ (the union of $S$ and $T$ ) onto the whiteboard.

After performing zero or more operations, Pak Chanek will construct a multiset $M$ containing the sizes of all sets written on the whiteboard. In other words, each element in $M$ corresponds to the size of a set after the operations.

How many distinct $^\dagger$ multisets $M$ can be created by this process? Since the answer may be large, output it modulo $998\,244\,353$ .

$^\dagger$ Multisets $B$ and $C$ are different if and only if there exists a value $k$ such that the number of elements with value $k$ in $B$ is different than the number of elements with value $k$ in $C$ .

输入格式

The first line contains a single integer $n$ ( $1 \le n \le 2000$ ).

The second line contains $n$ integers $a_1, a_2, \ldots, a_n$ ( $1 \leq a_i \leq n$ ).

输出格式

Output the number of distinct multisets $M$ modulo $998\,244\,353$ .

输入输出样例

输入 #1
6
1 1 2 1 4 3
输出 #1
7
输入 #2
7
3 5 4 3 7 4 5
输出 #2
11
C++ 编辑器
输入
输出