ZJOI2019 开关
给定长度为 \(n\) 的序列 \(s\),每个点被选择的概率为 \(\frac{p_i}{\sum p_i}\),对于全 \(0\) 序列,每次操作为翻转一个值,求期望操作多少次可以得到目标序列。
\(n\le 100,\sum p_i\le 5\cdot 10^4\)
\(\rm Sol:\)
似乎有 OGF 的推导方法和集合幂级数的推导方法。
神仙题。
集合幂级数
我们先考虑一个高斯消元:
\[f_i=1+\sum_{T\oplus j=i}f_j\cdot p_j
\]
我们构建一个集合幂级数 \(F(x)=\sum f_ix^i\)
另一边,我们构建 \(G(x)=\sum_{j} p_jx^j\),那么我们有:
\[F(x)=\sum_{i} x^i+G(x)\cdot F(x)+c\cdot x^{|\varnothing|}
\]
最后一项表示消去 \(x^{\varnothing}\) 的系数。
那么考虑 FWTxor 的结果,对于集合 \(u\),其结果为:
\[\mathscr{F(x)_{u}=\textrm{FWT}(\sum_{i} x^i)+G(x)\cdot F(x)+\textrm{FWT}(c\cdot x^{|\varnothing|})}
\]
对于 \(\rm xorFWT\),我们知道 \(\textrm{FWT}(c\cdot x^{|\varnothing|})_k=c\),同时我们进行移位得到:
\[\mathscr{F(x)_u(1-G(x))}=\sum_{k} (-1)^{u\land k}+c
\]
当 \(u=0\) 时,我们有 \(\textrm{FWT}(G(x))=\sum_k p_i\cdot (-1)^{k\land 0}=\sum_k p_k=1\)
所以我们有:
\[0=2^n+c\to c=-2^n
\]
所以我们得到,对于 \(k\ne 0\),有:
\[\textrm{FWT}( F(x))=\frac{\sum_k (-1)^{u\land k}-2^n}{1-\textrm{FWT}(G(x))}\to \frac{-2^n}{1-\textrm{FWT}(G(x))}
\]
对于 \(k=0\),有:
\[\textrm{FWT}(F(x))_0=\sum F(x)_k
\]
\[\textrm{FWT}(F(x))_0=\sum \textrm{IFWT}(\textrm{FWT}(x))_k
\]
注意到 \(F(x)_{0}=0\),所以我们有:
\[\textrm{FWT}(F(x))_0=\sum_{k\ne 0} \sum_j \frac{1}{}
\]
\[\textrm{FWT}(F(x))_0=\sum_{k\ne 0} \frac{2^n}{1-\textrm{ FWT}(G(x))}
\]
我们所求的答案即为 \(f_{S}\) 即:
\[\begin{aligned}
&\frac{1}{2^n}\sum \textrm{FWT}(F(x))_u\cdot (-1)^{u\land S}
\&=\frac{1}{2^n}\bigg(\sum_{u\ne 0} \frac{-2^n}{1-\textrm{FWT}(G(x))_u}\cdot (-1)^{u\land S}+\sum_{u\ne 0}\frac{2^n}{1-\textrm{FWT}(G(x))}\bigg)
\\&=\sum_{u\ne 0}\frac{1}{1-\textrm{FWT}(G(x))_u}\cdot (1-(-1)^{u\land S})
\\&=2\sum_{u\ne 0}\frac{1}{1-\textrm{FWT}(G(x))_u}[|u\land S|\mod 2=1]
\end{aligned}\]
另一边,我们注意到 \(\textrm{FWT}(G(x))=\sum (-1)^{k\land S}p_i\)
注意到 \(\sum p_i=1\),所以我们有 \(\textrm{FWT}(G(x))=\sum (-1)^{k\land S}p_k=\sum_{k\not \in S} p_k-\sum_{k \in S}p_i=1-2\sum_{k\in S} p_k\),于是可以得到答案为:
\[2\sum_{u\ne 0}\frac{1}{2\sum_{k \in u} p_k}[|u\land S|\mod 2=1]
\]
\[\sum_{u\ne 0}\frac{1}{\sum_{k \in u} p_k}[|u\land S|\mod 2=1]
\]
可以 \(\mathcal O(2^n)\) 处理,注意到值域较小,可以考虑进行 01 背包的 dp,复杂度为 \(\mathcal O(\sum p\cdot n)\)
ZJOI2019 开关
原文:https://www.cnblogs.com/Soulist/p/13656539.html