CF1866H Happy Sets
题目描述
当且仅当对于 $A$ 中的每一个值为 $x$ 的元素,在 $B$ 中都存在一个值为 $x+1$ 的元素时,称集合 $A$ 是集合 $B$ 的“孩子”。
给定整数 $N$ 和 $K$。为了让 Chaneka 开心,你需要找出有多少个不同的数组,包含 $N$ 个集合 $[S_1, S_2, S_3, \ldots, S_N]$,满足以下条件:
- 每个集合只能包含 $1$ 到 $K$ 之间的零个或多个不同整数。
- 存在一种重新排列这些集合数组顺序的方法,使得排列后的 $[S'_1, S'_2, S'_3, \ldots, S'_N]$ 满足对于每个 $1 \leq i \leq N-1$,$S'_i$ 是 $S'_{i+1}$ 的“孩子”。
请输出满足条件的不同集合数组的数量,对 $998\,244\,353$ 取模。
如果至少有一个值只出现在其中一个集合中,则认为两个集合不同。
如果至少有一个下标 $i$,使得两个集合数组在该下标对应的集合不同,则认为这两个集合数组不同。
输入格式
一行包含两个整数 $N$ 和 $K$($1 \leq N, K \leq 2 \times 10^5$),分别表示集合数组的长度和集合中元素的最大值。
输出格式
输出一个整数,表示满足条件的不同集合数组的数量,对 $998\,244\,353$ 取模。
说明/提示
在第一个样例中,共有 $11$ 种不同的集合数组,分别为:
- $[\{\}, \{\}]$
- $[\{\}, \{1\}]$
- $[\{\}, \{1, 2\}]$
- $[\{\}, \{2\}]$
- $[\{1\}, \{\}]$
- $[\{1\}, \{1, 2\}]$
- $[\{1\}, \{2\}]$
- $[\{1, 2\}, \{\}]$
- $[\{1, 2\}, \{1\}]$
- $[\{2\}, \{\}]$
- $[\{2\}, \{1\}]$
由 ChatGPT 4.1 翻译,fixed by @tallnut