子集卷积

要求在\(O(n\log^2n)\)内计算\(f_S\),满足\[f_S=\sum_{T\subseteq S}g_Th_{S-T}\]
相当于\[f_S=\sum_{P\cup Q=S}g_Ph_Q[|P|+|Q|=|S|]\]
若没有后面的条件则可以用FWT计算。考虑将条件塞到状态里。记\(f'_{i,S}\)表示集合大小为\(i\),集合为\(S\)的原\(f\)值。\(g'_{i,S}\)\(h'_{i,S}\)同样。则枚举集合大小即有转移\[f'_{i,S}=\sum_{j=0}^i\sum_{P\cup Q=S}g'_{j,P}h'_{i-j,Q}\]

猜你喜欢

转载自www.cnblogs.com/utopia999/p/10252713.html