异或零数组

\(\text{Description}\)
求满足 \(a_i \in [0,V],a_i \ne a_{1 \sim i-1}\),且 \(\bigoplus_{i=1}^{n} a_i = 0\),的 \(\{a\}\) 数量。\(n \le 10^6\)

\(\text{Soluton}\)

\[F_{n} = \operatorname{A}_{V}^{n-1} - \big(V - (n-2)\big) \times F_{n-2} \times (n-1) \]

因为 \(\bigoplus_{i=1}^{n-1} a_i = a_n\),所以我们确定前 \(n-1\) 个数就可以确定 \(a_n\)
但是会有重复,我们考虑容斥:钦定 \(a_n\) 与前面某个 \(a_i\) 相等,剩下的合法的方案。
用总方案减去即可。

\(\text{Description}\)
求满足异或和为 \(0\),且 \(a_{i,j} \in [0,V],a_{i,1} \ne a_{i,2}\)\(2 \times n\) 的数组数量。\(n \le 10^6\)

\(\text{Soluton}\)
\(F_{i}\) 不满足异或和为零的方案数,\(G_i\) 为答案,有:

\[F_{i} = F_{i-1} \times (V - 1) \times V \]

\[G_{i}=(F_{i-1}-G_{i-1}) \times V \]

因为要求 \(a_{i,1} \ne a_{i,2}\) 所以前 \(i-1\) 列的异或和不能为 \(0\),即为 \(F_{i-1}-G_{i-1}\)

posted @ 2024-02-27 18:01  Saka_Noa  阅读(10)  评论(0)    收藏  举报