博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
快速沃尔什变换 与 快速莫比乌斯变换
阅读量:4349 次
发布时间:2019-06-07

本文共 995 字,大约阅读时间需要 3 分钟。

 

pre:

http://www.cnblogs.com/zwfymqz/p/8244902.html

(思路与后续不同,思考如何和后续统一)

 

以一种高度思考

http://picks.logdown.com/posts/179290-fast-walsh-hadamard-transform

完善

https://blog.csdn.net/zhshrs/article/details/54838466

代码参考

https://blog.csdn.net/john123741/article/details/76576925

 

P.S.:

FFT和FWT,两者虽然某些原理(两分,使用重复项来降低时间复杂度)相似,但是,两个算法风马牛不相及!

 

 

快速莫比乌斯变换

study from :

https://yhx-12243.github.io/OI-transit/records/vijos%20%234.html

适用于and or,xor 行不通

 

FMT写法和FWT是一样的,两者考虑问题角度不一样。

 

存储函数地址

    void (*addr1[3])(ll a[])={fwt1,fwt2,fwt3};

    void (*addr2[3])(ll a[])={ufwt1,ufwt2,ufwt3};

 https://www.luogu.org/problemnew/show/P4717

 

1 #include 
2 using namespace std; 3 4 #define ll long long 5 const int maxn=1<<17; 6 const ll mod=998244353; 7 const ll inv2=(mod+1)/2; 8 9 ll a[maxn],b[maxn],x[maxn],y[maxn]; 10 int w,n; 11 12 ///or 13 void fwt1(ll a[]) 14 { 15 int i,j,k,l; 16 for (i=2,l=1;i<=n;i<<=1,l<<=1) ///range 17 for (j=0;j

 

 

 

 

转载于:https://www.cnblogs.com/cmyg/p/10424145.html

你可能感兴趣的文章
as3 sort
查看>>
hdu 2680 Choose the best route Dijkstra 虚拟点
查看>>
26. Remove Duplicates from Sorted Array java solutions
查看>>
[bzoj1185] [HNOI2007]最小矩形覆盖
查看>>
全景图制作详解
查看>>
React之todo-list
查看>>
cocoapods降级版本
查看>>
MYSQL复习笔记4-基本SQL语句
查看>>
C#&java重学笔记(函数)
查看>>
14软件G2班
查看>>
bzoj 1977 [BeiJing2010组队]次小生成树 Tree
查看>>
bzoj 2119 股市的预测——枚举长度的关键点+后缀数组
查看>>
maven:新建的maven工程需要添加一下插件
查看>>
关于iOS自定义控件:在view上实现事件和代理
查看>>
[扫描线]POJ2932 Coneology
查看>>
全局变量与全局静态变量的区别
查看>>
EMC队列 发件人为空 From Address: <>
查看>>
多路复用IO模型 IO multiplexing
查看>>
蒙蒙的Git
查看>>
js方法遇到就记录
查看>>