• FWT模板


    FWT模板:

     1 void FWT(int a[],int n) 
     2 { 
     3     for(int d=1;d<n;d<<=1) //你甚至可以RANDOMSHUFFLE
     4     for(int m=d<<1,i=0;i<n;i+=m) 
     5     for(int j=0;j<d;j++) 
     6     { 
     7         int x=a[i+j],y=a[i+j+d]; 
     8         a[i+j]=(x+y)%mod,a[i+j+d]=(x-y+mod)%mod; 
     9         //xor:a[i+j]=x+y,a[i+j+d]=x-y;
    10         //and:a[i+j]=x+y; 
    11         //or:a[i+j+d]=x+y; 
    12     } 
    13 } 
    14 
    15 void UFWT(int a[],int n) 
    16 {
    17     for(int d=1;d<n;d<<=1) //你甚至可以RANDOMSHUFFLE
    18     for(int m=d<<1,i=0;i<n;i+=m) 
    19     for(int j=0;j<d;j++) 
    20     { 
    21         int x=a[i+j],y=a[i+j+d]; 
    22         a[i+j]=1LL*(x+y)*rev%mod,a[i+j+d]=(1LL*(x-y)*rev%mod+mod)%mod; 
    23         //xor:a[i+j]=(x+y)/2,a[i+j+d]=(x-y)/2; 
    24         //and:a[i+j]=x-y; 
    25         //or:a[i+j+d]=y-x; 
    26     } 
    27 } 
    28 void solve(int a[],int b[],int n) 
    29 { 
    30     FWT(a,n); 
    31     FWT(b,n); 
    32     for(int i=0;i<n;i++) a[i]=1LL*a[i]*b[i]%mod; 
    33     UFWT(a,n); 
    34 }
    View Code
  • 相关阅读:
    数据库设计
    Java各类格式转换
    Linux下如何查看tomcat是否启动/系统日志等
    string去空格
    Tomcat
    linux下的显示有中国农历的日历ccal
    Linux命令
    JSP学习-02隐式对象
    jQuery 遍历
    jQuery 隐藏效果
  • 原文地址:https://www.cnblogs.com/GhostReach/p/6553801.html
Copyright © 2020-2023  润新知