#loj154. 集合划分计数

集合划分计数

[AdditionalFile154.zip](file://AdditionalFile154.zip?type=additional_file)

#154. 集合划分计数

标签: 传统 | 时间限制: 7000 ms | 内存限制: 1024 MiB | 显示标签 通过: 555 | 提交: 1437

题目描述

这是一道(集合幂级数问题转化为形式幂级数问题,利用求导 O(n2)O(n^2) 完成形式幂级数操作的)模板题。

给定一个集合 S={x1,x2,,xn}S = \{x_1, x_2, \dots, x_n\} 和一个 SS 上的集合族 F={S0,S1,,Sm1}\mathcal{F} = \{S_0, S_1, \dots, S_{m-1}\}

一个划分 P\mathcal{P}F\mathcal{F} 的一个子族,满足 P\mathcal{P} 中所有集合的并为 SS,任意两个集合不相交。

求大小不大于 kk 的划分的数量 mod 998244353。

两个划分 P1,P2\mathcal{P}_1, \mathcal{P}_2 不同,当且仅当存在 ii 使 $S_i \in \mathcal{P}_1 \land S_i \notin \mathcal{P}_2$ 或 $S_i \notin \mathcal{P}_1 \land S_i \in \mathcal{P}_2$。SiS_iSjS_j 不同当且仅当 iji \ne j

输入格式

第 1 行:n m kn \ m \ k

第 2 行:s0 s1  sm1s_0 \ s_1 \ \dots \ s_{m-1}sis_i 二进制第 jj 位为 0 表示 xjSix_j \notin S_i,为 1 表示 xjSix_j \in S_i

输出格式

1 个非负整数,表示大小不大于 kk 的划分的数量 mod 998244353。

样例

输入

4 8 2
7 10 8 11 5 15 4 5

输出

5

数据范围与提示

  • 1kn211 \le k \le n \le 21
  • 1m2621441 \le m \le 262144
  • 1si2n11 \le s_i \le 2^n - 1

子任务

  1. (16 分) n7,m16n \le 7, m \le 16
  2. (20 分) n11,m256n \le 11, m \le 256
  3. (14 分) n14,m2048n \le 14, m \le 2048
  4. (25 分) n18,m32768n \le 18, m \le 32768
  5. (25 分) 没有附加限制