这里会显示出您选择的修订版和当前版本之间的差别。
两侧同时换到之前的修订记录 前一修订版 后一修订版 | 前一修订版 | ||
2020-2021:teams:alchemist:maxdumbledore:fft_ntt_fwt_ormore:subset_convolution [2020/05/09 21:33] maxdumbledore |
2020-2021:teams:alchemist:maxdumbledore:fft_ntt_fwt_ormore:subset_convolution [2020/05/09 21:36] (当前版本) maxdumbledore ↷ 页面名由2020-2021:teams:alchemist:maxdumbledore:fft_ntt_fwt_ormore:子集卷积改为2020-2021:teams:alchemist:maxdumbledore:fft_ntt_fwt_ormore:subset_convolution |
||
---|---|---|---|
行 1: | 行 1: | ||
- | ==== 子集卷积 ==== | + | ====== 子集卷积 ====== |
- | === 简介 === | + | ==== 简介 ==== |
一般我们有如下一类的状压dp方程,如$dp[i]=\sum dp[j]*w[k]$ ($i,j,k$满足$j\lor k=i,j \land k=0$,这里符号表示按位与和按位或。 | 一般我们有如下一类的状压dp方程,如$dp[i]=\sum dp[j]*w[k]$ ($i,j,k$满足$j\lor k=i,j \land k=0$,这里符号表示按位与和按位或。 | ||
行 15: | 行 15: | ||
虽然牺牲了一定空间,但是时间被优化到了$n$次FWT+$n^2$次对位乘法的复杂度:$O((2^n*n)*n+n^2*2^n)=O(n^2*2^n)$。 | 虽然牺牲了一定空间,但是时间被优化到了$n$次FWT+$n^2$次对位乘法的复杂度:$O((2^n*n)*n+n^2*2^n)=O(n^2*2^n)$。 | ||
- | === 例题 === | + | ==== 例题 ==== |
模板题:https:%%//%%ac.nowcoder.com/acm/contest/5157/D | 模板题:https:%%//%%ac.nowcoder.com/acm/contest/5157/D |