• CF1119H


    题意

    给定(x,y,z),及(n)个三元组({a_i,b_i,c_i})(F_i[j]=x[j=a_i]+y[j=b_i]+z[j=c_i])。求(n)个多项式的异或乘积。

    做法

    (FWT(F_k)[i]=(-1)^{cnt(iAnd a_i)}x+(-1)^{cnt(iAnd b_i)}y+(-1)^{cnt(iAnd c_i)}z)
    (G[i]=prodlimits_{k=1}^n FWT(F_k)[i]=prodlimits_{k=1}^n ((-1)^{cnt(iAnd a_k)}x+(-1)^{cnt(iAnd b_k)}y+(-1)^{cnt(iAnd c_k)}z))
    括号内的数只有(8)种情况

    为了化简状态,将({a_i,b_i,c_i}longrightarrow {a_ioplus a_i,b_ioplus a_i,c_ioplus a_i})
    根据异或定义,最后得到的结果多项式(A_i),原多项式(B_i),则(B_i=A_{iigopluslimits_{j=1}^k a_j})

    而对于三元组({a_i'=0,b_i',c_i'})(G[i]=prodlimits_{k=1}^n FWT(F_k)[i]=prodlimits_{k=1}^n ((-1)^{cnt(iAnd a_k')}x+(-1)^{cnt(iAnd b_k')}y+(-1)^{cnt(iAnd c_k')}z))括号内仅有((x+y+z)(x+y−z)(x−y+z)(x−y−z))
    令这四种数量分别为(c_1,c_2,c_3,c_4)

    • (F_i[b_i]=1),即(x=0,y=1,z=0)(FWT(F_k)[i]=(-1)^{iAnd b_k})
      (sumlimits_{k=1}^n FWT(F_k)[i]=c_1+c_2-c_3-c_4)
    • (F_i[c_i]=1),即(x=0,y=0,z=1)(FWT(F_k)[i]=(-1)^{iAnd c_k})
      (sumlimits_{k=1}^n FWT(F_k)[i]=c_1-c_2+c_3-c_4)
    • (F_i[b_ioplus c_i]=1),相当于上面两种情况的卷积。(FWT(F_k)[i]=(-1)^{iAnd b_k}(-1)^{iAnd c_k})
      (sumlimits_{k=1}^n FWT(F_k)[i]=c_1−c_2−c_3+c_4)
    • (c_1+c_2+c_3+c_4=n)
  • 相关阅读:
    inkscape
    关于英语写作词源方面的。。
    ubuntu上配tensorflow
    腾讯面试指南
    使用traceview进行Android性能测试(转)
    Android CTS 测试总结【转】
    JAVA和C++区别
    接口继承
    vim实现全选功能
    C++异常机制的实现方式和开销分析
  • 原文地址:https://www.cnblogs.com/Grice/p/12924328.html
Copyright © 2020-2023  润新知