给n<=50个长度m<=1000的二进制数,记他们为集合T,求满足下面条件的集合S数:令$M=2^m-1$,1.$a \epsilon S \Rightarrow a \ \ xor \ \ M \epsilon S$:2.$a \epsilon S,b \epsilon S \Rightarrow a \ \ and \ \ b \epsilon M$:3.$T \subseteq S$:4.S中每个数都<=M.答案膜1e9+7. 首先不看这T个数,先想想自由状态下有多少个S.由条件1…
[题目]E. New Year and Entity Enumeration [题意]给定集合T包含n个m长二进制数,要求包含集合T且满足以下条件的集合S数:长度<=m,非和与的结果都在集合中.(详细的题意见原题) [算法]数学(贝尔数) [题解]这道题确实不太能理解这种做法,所以就简单写写了. 先不考虑S须包含集合T. 对于一个方案,按位考虑,所有含位 i 的数字and起来得到含该位的最小数字,记为f[i]. 对于f[x]≠f[y],有f[x]&f[y]=0,证明:!(f[x]&f…