文章标题 FWT (快速沃尔什变换) 模板
2017-08-02 15:24
316 查看
void FWT(int a[],int n) { for(int d=1;d<n;d<<=1) for(int m=d<<1,i=0;i<n;i+=m) for(int j=0;j<d;j++) { int x=a[i+j],y=a[i+j+d]; a[i+j]=(x+y)%mod,a[i+j+d]=(x-y+mod)%mod; //xor:a[i+j]=x+y,a[i+j+d]=(x-y+mod)%mod; //and:a[i+j]=x+y; //or:a[i+j+d]=x+y; } } void UFWT(int a[],int n) { for(int d=1;d<n;d<<=1) for(int m=d<<1,i=0;i<n;i+=m) for(int j=0;j<d;j++) { int x=a[i+j],y=a[i+j+d]; a[i+j]=1LL*(x+y)*rev%mod,a[i+j+d]=(1LL*(x-y)*rev%mod+mod)%mod; //xor:a[i+j]=(x+y)/2,a[i+j+d]=(x-y)/2; //and:a[i+j]=x-y; //or:a[i+j+d]=y-x; } } void solve(int a[],int b[],int n) { FWT(a,n); FWT(b,n); for(int i=0;i<n;i++) a[i]=1LL*a[i]*b[i]%mod; UFWT(a,n); }
相关文章推荐
- 快速沃尔什变换(FWT)讲解+模板
- CSU 1911 Card Game 快速沃尔什变换(FWT)模板题
- 洛谷4717:【模板】 快速沃尔什变换——题解
- 快速沃尔什变换FWT
- HDU 5977 Garden of Eden (树形dp+快速沃尔什变换FWT)
- 快速沃尔什变换 FWT
- 文章标题 网络流模板
- 关于快速沃尔什变换(FWT)的一点学习和思考
- 文章标题 POJ 3734 : Blocks (矩阵快速幂)
- 快速沃尔什变换详解(FWT)
- 快速沃尔什变换(FWT) 学习笔记
- 解决国外模板h1、h2、h3...不显示中文文章标题的问题
- 解决国外模板h1、h2、h3...不显示中文文章标题的问题
- 文章标题 HDU 2222 : Keywords Search (AC自动机模板)
- 文章标题 POJ : 3233 Matrix Power Series (矩阵快速幂+求等比矩阵的和)
- 文章标题 HDU 3549 : Flow Problem (最大流--模板)
- [FWT] 快速沃尔什变换学习笔记
- Codeforces 662C Binary Table 快速沃尔什变换(FWT)
- 快速沃尔什变换(FWT)讲解 解决集合卷积的方法