题目描述
这是一道(集合幂级数问题转化为形式幂级数问题,利用求导 O(n2) 完成形式幂级数操作的)模板题。
给定一个集合 S={x1,x2,…,xn} 和一个 S 上的集合族 F={S0,S1,…,Sm−1}。
一个划分 P 是 F 的一个子族,满足 P 中所有集合的并为 S ,任意两个集合不相交。
求大小不大于 k 的划分的数量 mod998244353。
两个划分 P1,P2 不同,当且仅当存在 i 使 $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}$。Si 和 Sj 不同当且仅当 i=j。
输入格式
第 1 行:n m k
第 2 行:s0 s1 …sm−1,si 二进制第 j 位为 0 表示 xj∈/Si ,为 1 表示 xj∈Si
输出格式
1 个非负整数,表示大小不大于 k 的划分的数量 mod998244353。
样例
4 8 2
7 10 8 11 5 15 4 5
5
数据范围与提示
- 1≤k≤n≤21
- 1≤m≤262144
- 1≤si≤2n−1
子任务
- (16 分)n≤7,m≤16
- (20 分)n≤11,m≤256
- (14 分)n≤14,m≤2048
- (25 分)n≤18,m≤32768
- (25 分)没有附加限制