已完成今日求所有满足长为 $a$ 的和为 $b$ 的按位或为 $c$ 的非负整数序列的异或和的异或和大学习

给定 \(a\)\(b\)\(c\)

求所有满足长为 \(a\) 的和为 \(b\) 的按位或为 \(c\) 的非负整数序列的异或和的异或和。

\[c\le 2^{20}, a \le 2^{40}, b \le 2^{60} \]


所有方案轮换对称,所以仅考虑 \(n\) 为奇数。

钦定第 \(1\) 个数的第 \(i\) 位为 \(1\),方案数为:

\[\begin{align*} &\sum_{c'\subseteq c} (-1)^{|c|-|c'|}\sum_{2^i\in t_1, t_1+t_2+...+t_a=b}\prod_{j=1}^a[t_j\subseteq c'] \\ \equiv &\sum_{c'\subseteq c}\sum_{2^i\in t_1, t_1+t_2+...+t_a=b}\prod_{j=1}^a\binom {c'}{t_i} \\ \equiv& \sum_{c'\subseteq c}\binom {ac'-2^i}{b-2^i} \pmod 2 \end{align*} \]

枚举 \(c'\)\(i\) 即可 \(\mathcal O(c\log c)\) 解决。

posted @ 2025-09-19 20:58  CuteNess  阅读(7)  评论(0)    收藏  举报