题意
给定(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)