1 条题解
-
7
与(and)
给定 ,一个长度为 的序列 合法当且仅当:
- 。
- 任意 , 。
求合法序列个数。对 。
考虑拆位贡献,则对于某一个二进制位,设 为 的这个二进制位,则必然存在一个 使得 满足 且其余为 。因此只要 确定了,则这一二进制位的所有数均确定。
不妨设 表示第 个二进制位的 的个数,则限制变为:
这是一个多重背包问题,看似是 的复杂度,但是注意到复杂度是:
$$\begin{aligned} \sum n\lfloor\frac{n}{2^i}\rfloor&=n\sum \lfloor\frac{n}{2^i}\rfloor\\&=\mathcal{O}(n^2) \end{aligned}$$于是直接写一个多重背包就能通过。
- 1
信息
- ID
- 2771
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- 5
- 标签
- (无)
- 递交数
- 19
- 已通过
- 8
- 上传者