#P15773. [JAG 2025 Summer Camp #2] Count Unique Packing
[JAG 2025 Summer Camp #2] Count Unique Packing
说明
你在“容器装箱可识别性中心”工作,研究容器装箱方案的唯一性。
给定 件物品。第 件物品有一个正整数重量 ()。
你考虑将物品的一个(非空)子集 装入容器。你可以使用任意多个非空容器(不允许使用空容器)。固定一个正整数 表示每个容器的容量。 的一个有效装箱是将 中的物品分配到容器中的一种方案,它必须满足以下所有条件:
- 覆盖性: 中的每件物品恰好被放入一个容器。
- 容量限制:每个容器中物品的总重量不超过 。
- 不可合并性:对于任意两个不同的容器 和 , 或 中所含物品的总重量严格大于 (即,在不违反容量 的前提下,任意两个容器都无法合并成一个容器)。
容器是不可区分的,而物品是互不相同的(即使某些物品重量相同)。两种装箱方案被认为是相同的,当且仅当它们诱导出 的相同划分;等价地说,对于任意不同的 ,物品 和 在一种装箱方案中位于同一个箱子,当且仅当它们在另一种装箱方案中也位于同一个箱子。
对于一个固定的 ,如果一个子集 恰好存在一种满足所有条件的有效装箱方案,则称 是唯一可装箱的。
给定一个整数 。令 ()表示容量为 时唯一可装箱的非空子集的数量。对于每个 ,输出 对 取模的结果。换句话说,对于每个 ,定义
$$f(w) = \#\{S \subseteq \{1, 2, \ldots, N\} \mid S \text{ 是非空的,且对于容量 } w \text{ 是唯一可装箱的}\}.$$输出 个整数;对于每个 ,输出 对 取模的结果。
输入格式
输入包含一个测试用例,格式如下。
$$\begin{aligned} & N \ W \\ & A_1 \ A_2 \ \cdots \ A_N \end{aligned}$$第一行包含两个整数 ()和 (),分别表示物品的数量和容量参数 的上界(即需要考虑的最大容量)。第二行包含 个正整数 ()。每个 表示物品 的重量。
输出格式
在一行中输出 个整数,以空格分隔:对于每个 ,第 个整数是 对 取模的结果(容量为 时的答案)。
4 4
1 3 2 4
1 3 7 13
3 9
9 1 4
1 1 1 3 3 3 3 3 7
2 2
2 2
0 3
提示
翻译由 DeepSeek V3.2 完成
京公网安备 11011102002149号