与(and)
与(and)
WZH与(and)
给定 ,一个长度为 的序列 合法当且仅当:
- 。
- 任意 , 。
求合法序列个数。对 。
考虑拆位贡献,则对于某一个二进制位,设 为 的这个二进制位,则必然存在一个 使得 满足 且其余为 。因此只要 确定了,则这一二进制位的所有数均确定。
不妨设 表示第 个二进制位的 的个数,则限制变为:
这是一个多重背包问题,看似是 的复杂度,但是注意到复杂度是:
于是直接写一个多重背包就能通过。
给定 ,一个长度为 的序列 合法当且仅当:
- 。
- 任意 , 。
求合法序列个数。对 。
考虑拆位贡献,则对于某一个二进制位,设 为 的这个二进制位,则必然存在一个 使得 满足 且其余为 。因此只要 确定了,则这一二进制位的所有数均确定。
不妨设 表示第 个二进制位的 的个数,则限制变为:
这是一个多重背包问题,看似是 的复杂度,但是注意到复杂度是:
于是直接写一个多重背包就能通过。