• 2024-08-22快速莫比乌斯/沃尔什变换 (FMT/FWT)
    快速莫比乌斯/沃尔什变换(FMT/FWT)这个东西是用来求二进制位运算的卷积的,\(or\)卷积、\(and\)卷积、\(xor\)卷积。引入我们要求的是:\[C[i]=\sum_{i=j\oplusk}A[j]*B[k]\]考虑像FFT一样,先将一个式子计算出它的正变换后的式子,再相乘,最后做一次逆变换。于是我们先定义一个
  • 2024-05-07构造照亮世界——快速沃尔什变换 (FWT)
    博客园我的博客快速沃尔什变换解决的卷积问题快速沃尔什变换(FWT)是解决这样一类卷积问题:\[c_i=\sum_{i=j\odotk}a_jb_k\]其中,\(\odot\)是位运算的一种。举个例子,给定数列\(a,b\),求:\[c_i=\sum_{j\oplusk=i}a_jb_k\]FWT的思想看到FWT的名字,我们可以联想到之前学过
  • 2024-02-19算法学习笔记(45): 快速沃尔什变换 FWT
    遗憾的是math里面一直没有很好的讲这个东西……所以这次细致说说。FWT的本质类似于多项式卷积中,利用ntt变换使得卷积\(\to\)点乘,fwt也是类似的应用。定义某种位运算\(\oplus\),那么fwt处理的位运算卷积形如:\[H=F*G\impliesH_k=\sum_{i\oplusj=k}F_iG_
  • 2024-02-08快速沃尔什变换与子集卷积
    前置知识:FFT(快速傅里叶变换)。快速沃尔什变换LuoguP4717【模板】快速莫比乌斯/沃尔什变换(FMT/FWT)快速沃尔什变换(FastWalsh–Hadamardtransform)解决二进制运算下的卷积。给定序列\(f,g\),求以下三个序列\(A,B,C\):\[A_i=\sum_{j\operatorname{or}k=i}f_j\timesg
  • 2023-10-22快速莫比乌斯/沃尔什变换 (FMT/FWT)
    仅供学习。给定长度为\(2^n\)两个序列\(A,B\),设\[C_i=\sum_{j\oplusk=i}A_j\timesB_k\]分别当\(\oplus\)是or,and,xor时求出\(C\)or\[c_{i}=\sum_{j|k\ini}a_{j}b_{k}\]定义\(fwt[a]_i=\sum_{j\ini}a_j\)显然$$\begin{aligned}fwt[a]\timesf
  • 2023-06-24正交编码与正交沃尔什函数详解
    本专栏包含信息论与编码的核心知识,按知识点组织,可作为教学或学习的参考。markdown版本已归档至【Github仓库:<https://github.com/timerring/information-theory>】或者公众号【AIShareLab】回复信息论获取。正交编码正交编码的基本概念正交性若两个周期为T的模拟信号和
  • 2023-04-072023.4.7【模板】快速沃尔什变换FWT
    2023.4.7【模板】快速沃尔什变换FWT题目概述给定长度为\(2^n\)两个序列\(A,B\),设\(C_i=\sum_{j\oplusk=i}A_j\timesB_k\)分别当\(\oplus\)是or,and,xor时求出\(C\)我们通常将这个操作,叫做“位运算卷积”,因为它的卷积是按照位运算法则“卷”起来的。算法流程或
  • 2023-03-15快速莫比乌斯/沃尔什变换 (FMT/FWT) 学习笔记
    引入考虑一个基本问题:给定序列\(a_n,b_n\),求出序列\(c_n\),满足\(c_i=\sum_{j\oplusk=i}a_jb_k\),其中\(\oplus\)是一种二元运算符,形如上式的问题一般被称为卷积。
  • 2023-02-14FWT 快速沃尔什变换学习笔记
    \(\text{FWT}\)快速沃尔什变换给定两个序列\(a,b\),求解序列\(c\)满足:\[c_i=\sum_{j\cdotk=i}a_jb_k\]其中\(\cdot\)可以为\(\&\),\(|\),还有\(\oplus\)等位
  • 2022-12-08浅谈快速莫比乌斯/沃尔什变换(FMT/FWT)
    前置知识多项式基础快速傅里叶变换/数论变换(FFT/FNTT)位运算(集合运算)引入·位运算卷积典型的FFT,NTT被用于解决加法卷积问题。具体地,它可以解决的基本问题是:给
  • 2022-11-16【模板】快速沃尔什变换 FWT
    解决形如\[c_k=\sum_{i\oplusj=k}a_ib_j.\]的卷积式子,这里解决\(\oplus=\{\cup,\cap,\text{xor}\}\)。#include<cstdio>#include<cstring>#include<algorithm>u