题意:给出一个自然数序列 ,问它有多少个子序列(可不连续,不能为空)按位与的结果为
。
答案对 取模,,时限 。
记值域为 。对 构造多项式 。特殊地,定义 ,多项式乘法对应数列的 and 卷积。
将这些多项式相乘: 展开括号后形成
个单项式,对应
个子序列,指数就是按位与的结果。答案是 。
这看起来似乎天衣无缝,但细想会发现一个小问题:什么是 ?多项式有 项, 对应
吗?答案是否定的,它不满足乘法单位元的性质。事实上,真正的 是 ,谁乘它都等于自身,看来“常数项”应该放在
处。也就是说,。
接下来考虑如何求 。
考察 ,记 为 变换的系数矩阵,有 注意到 只能是
或 ,累乘中每一项不是 就是 ,故 现在目标是对每个 求出
,然后能得知
,施 就能得到 了。
记 ,则
即 。
需要计算 和 ,复杂度 (即 )。