CF1709F Multiset of Strings

题目描述

给定三个整数 $n$、$k$ 和 $f$。 考虑所有长度从 $1$ 到 $n$ 的二进制字符串(即所有仅由字符 $0$ 和/或 $1$ 组成的字符串)。对于每个这样的字符串 $s$,你需要为其选择一个整数 $c_s$,满足 $0 \le c_s \le k$。 如果一个长度恰好为 $n$ 的二进制字符串多重集满足:对于每个长度从 $1$ 到 $n$ 的二进制字符串 $s$,该多重集中以 $s$ 作为前缀的字符串数量不超过 $c_s$,则称该多重集是“美丽的”。 例如,设 $n = 2$,$c_{0} = 3$,$c_{00} = 1$,$c_{01} = 2$,$c_{1} = 1$,$c_{10} = 2$,$c_{11} = 3$。多重集 $\{11, 01, 00, 01\}$ 是美丽的,因为: - 对于字符串 $0$,多重集中以 $0$ 为前缀的字符串有 $3$ 个,且 $3 \le c_0$; - 对于字符串 $00$,多重集中以 $00$ 为前缀的字符串有 $1$ 个,且 $1 \le c_{00}$; - 对于字符串 $01$,多重集中以 $01$ 为前缀的字符串有 $2$ 个,且 $2 \le c_{01}$; - 对于字符串 $1$,多重集中以 $1$ 为前缀的字符串有 $1$ 个,且 $1 \le c_1$; - 对于字符串 $10$,多重集中以 $10$ 为前缀的字符串有 $0$ 个,且 $0 \le c_{10}$; - 对于字符串 $11$,多重集中以 $11$ 为前缀的字符串有 $1$ 个,且 $1 \le c_{11}$。 现在,问题来了。你需要计算有多少种方式为每个长度从 $1$ 到 $n$ 的二进制字符串 $s$ 选择整数 $c_s$,使得美丽多重集的最大可能大小恰好为 $f$。

输入格式

输入仅一行,包含三个整数 $n$、$k$ 和 $f$,满足 $1 \le n \le 15$,$1 \le k, f \le 2 \times 10^5$。

输出格式

输出一个整数,表示有多少种方式为每个长度从 $1$ 到 $n$ 的二进制字符串 $s$ 选择整数 $c_s$,使得美丽多重集的最大可能大小恰好为 $f$。由于答案可能很大,请输出对 $998244353$ 取模后的结果。

说明/提示

在第一个样例中,有三种方式选择整数 $c_s$: - $c_0 = 0$,$c_1 = 2$,此时最大美丽多重集为 $\{1, 1\}$; - $c_0 = 1$,$c_1 = 1$,此时最大美丽多重集为 $\{0, 1\}$; - $c_0 = 2$,$c_1 = 0$,此时最大美丽多重集为 $\{0, 0\}$。 由 ChatGPT 4.1 翻译