CF2020E 做题记录

CF2020E 做题记录

题目链接来源

一句话题意:给你一个数组 \(a\) 和概率数组 \(p\),对于每个 \(a_i\) 都有 \(\dfrac{p_i}{10^4}\) 的概率被插入多重集合 \(S\) 中。求 \(S\) 中所有元素的异或值的期望。

将数拆位,可以得到:

\[\mathbb{E}(f(s)^2)=\mathbb{E}(\sum_{i=1}^N\sum_{j=1}^N \text{bit}_i\text{bit}_j\times2^{i+j}) \]

其中 \(\text{bit}_x\) 表示 \(f(S)\) 的第 \(x\) 位。

将上述式子继续化简:

\[\mathbb{E}(f(s)^2)=\sum_{i=1}^N\sum_{j=1}^N \mathbb{E}(\text{bit}_i\text{bit}_j)\times2^{i+j} \]

于是我们枚举所有的 \(i\)\(j\)​,计算贡献即可。

定义 \(f_{x,y,z}\) 表示从 \(1\)\(x\) 中加数,第 \(i\) 位是 \(y\),第 \(j\) 位是 \(z\)​ 的概率。

考虑转移:

\[f_{x,y\oplus g(x,i),z \oplus g(x,j)}\gets p_if_{x-1,y,z} \\ f_{x,y,z}\gets (1-p_i)f_{x-1,y,z} \]

\(\text{bit}_i\)\(\text{bit}_j\) 中有 \(0\),则显然 \(\mathbb{E}(\text{bit}_i\text{bit}_j)\)\(0\),因此我们统计答案的时候加上 \(f_{n,1,1} \times 2^{i+j}\) 即可。

做完了,第一维滚不滚无所谓。

posted @ 2025-02-27 23:51  邻补角-SSA  阅读(15)  评论(0)    收藏  举报