zoukankan      html  css  js  c++  java
  • ZJOI2019 开关

    ZJOI2019 开关

    给定长度为 (n) 的序列 (s),每个点被选择的概率为 (frac{p_i}{sum p_i}),对于全 (0) 序列,每次操作为翻转一个值,求期望操作多少次可以得到目标序列。

    (nle 100,sum p_ile 5cdot 10^4)

    ( m Sol:)

    似乎有 OGF 的推导方法和集合幂级数的推导方法。


    神仙题。

    集合幂级数

    我们先考虑一个高斯消元:

    [f_i=1+sum_{Toplus j=i}f_jcdot 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)+ccdot x^{|varnothing|} ]

    最后一项表示消去 (x^{varnothing}) 的系数。

    那么考虑 FWTxor 的结果,对于集合 (u),其结果为:

    [mathscr{F(x)_{u}= extrm{FWT}(sum_{i} x^i)+G(x)cdot F(x)+ extrm{FWT}(ccdot x^{|varnothing|})} ]

    对于 ( m xorFWT),我们知道 ( extrm{FWT}(ccdot x^{|varnothing|})_k=c),同时我们进行移位得到:

    [mathscr{F(x)_u(1-G(x))}=sum_{k} (-1)^{uland k}+c ]

    (u=0) 时,我们有 ( extrm{FWT}(G(x))=sum_k p_icdot (-1)^{kland 0}=sum_k p_k=1)

    所以我们有:

    [0=2^n+c o c=-2^n ]

    所以我们得到,对于 (k e 0),有:

    [ extrm{FWT}( F(x))=frac{sum_k (-1)^{uland k}-2^n}{1- extrm{FWT}(G(x))} o frac{-2^n}{1- extrm{FWT}(G(x))} ]

    对于 (k=0),有:

    [ extrm{FWT}(F(x))_0=sum F(x)_k ]

    [ extrm{FWT}(F(x))_0=sum extrm{IFWT}( extrm{FWT}(x))_k ]

    注意到 (F(x)_{0}=0),所以我们有:

    [ extrm{FWT}(F(x))_0=sum_{k e 0} sum_j frac{1}{} ]

    [ extrm{FWT}(F(x))_0=sum_{k e 0} frac{2^n}{1- extrm{ FWT}(G(x))} ]

    我们所求的答案即为 (f_{S}) 即:

    [egin{aligned} &frac{1}{2^n}sum extrm{FWT}(F(x))_ucdot (-1)^{uland S} \ &=frac{1}{2^n}igg(sum_{u e 0} frac{-2^n}{1- extrm{FWT}(G(x))_u}cdot (-1)^{uland S}+sum_{u e 0}frac{2^n}{1- extrm{FWT}(G(x))}igg) \&=sum_{u e 0}frac{1}{1- extrm{FWT}(G(x))_u}cdot (1-(-1)^{uland S}) \&=2sum_{u e 0}frac{1}{1- extrm{FWT}(G(x))_u}[|uland S|mod 2=1] end{aligned}]

    另一边,我们注意到 ( extrm{FWT}(G(x))=sum (-1)^{kland S}p_i)

    注意到 (sum p_i=1),所以我们有 ( extrm{FWT}(G(x))=sum (-1)^{kland S}p_k=sum_{k ot in S} p_k-sum_{k in S}p_i=1-2sum_{kin S} p_k),于是可以得到答案为:

    [2sum_{u e 0}frac{1}{2sum_{k in u} p_k}[|uland S|mod 2=1] ]

    [sum_{u e 0}frac{1}{sum_{k in u} p_k}[|uland S|mod 2=1] ]

    可以 (mathcal O(2^n)) 处理,注意到值域较小,可以考虑进行 01 背包的 dp,复杂度为 (mathcal O(sum pcdot n))

  • 相关阅读:
    DVI与DVI-D的区别
    easyui.combotree.search.js
    显示实时日期时间(html+js)
    Jquery 内容简介
    EasyUI 格式化DataGrid列
    EasyUI DataGrid 添加排序
    EasyUI DataGrid 复选框
    EasyUI 自定义DataGrid分页
    EasyUI DataGrid能编辑
    EasyUI 我的第一个窗口
  • 原文地址:https://www.cnblogs.com/Soulist/p/13656539.html
Copyright © 2011-2022 走看看