当前位置: 首页 > news >正文

FWT 笔记II

为了实现 FWT,我们需要实现所谓带权前缀和。

具体来说,给定序列 \(\{A\}_{i=0}^{c^n-1}\)(这里我们推广了一般的二进制情况),以及一个函数 \(w(i,j)\quad i \in [0,d^n),j\in [0,c^n)\),我们需要求出:

\[\textup{FWT}(A)_i=\sum_{j}w(i,j)A_j \]

我们记 \(x^{(y)}_z\) 表示 \(x\)\(y\) 进制下的第 \(z+1\) 位。

当上下文语意明确时,我们省略上标。

一般为了方便求解,\(w\) 有性质:

\[w(x,y)=\prod_{0\le i<n}w(x^{(d)}_i,y^{(c)}_i) \]

好的,怎么求解这个一般的 FWT 呢?

这里有一个问题,我们输入的下标是 \(c\) 进制的,而输出是 \(d\) 进制的,这似乎并不相容。

所以第一步就是统一进制,加入一些空的位置。

\(\textup{tran}_{x}^{y}(i)\) 表示若 \(i=(a_1\dots a_l)_x\),则 \(\textup{tran}_{x}^{y}(i)=(a_1\dots a_l)_y\)。(我们忽略一些合法性检查)

分讨:

  • \(c=d\):什么也不用做。
  • \(c>d\):我们构造新函数 \(w^{\prime}(\textup{tran}_d^c(i),j)=w(i,j)\),剩下的填 \(0\),记使用 \(w^{\prime}\) 得到的序列为 \(B^{\prime}\),最后 \(\textup{FWT}(A)_i=B^{\prime}_{\textup{tran}_d^c(i)}\)
  • \(c<d\):我们构造 \(A^{\prime}_{\textup{tran}_c^d(i)}=A_i,w^{\prime}(i,\textup{tran}_c^d(j))=w(i,j)\),剩下的填 \(0\)

总之,现在统一了进制,以下假设 \(c=d\)

接下来,我们依次考虑每一位 \(0\le i<n\),令 \(A^{[i]}_k=\sum\limits_{\lfloor j/c^t \rfloor=\lfloor i/c^t \rfloor}w(k,j)A_j\)

由于 \(w\) 每一维是独立的,因此依照 \(w(k_i,j_i)\) 分配就可以了。

可能不是很明了,我们举一个例子:

\[W=\begin{pmatrix}1&1\\1&-1\end{pmatrix} \]

这里 \(w(i,j)=W_{ij}\)(下标从 \(0\) 开始)。

那么代码实现大概是这样(这里直接原地操作):

void FWT(int n,int* A){for(int k=0;k<n;++k){for(int i=0;i<(1<<n);i+=(1<<(k+1))){for(int j=0;j<(1<<k);++j){int tmp=A[i|j];A[i|j]=A[i|j]+A[i|j|(1<<k)];A[i|j|(1<<k)]=tmp-A[i|j|(1<<k)];}}}
}

至于完整的实现,一般用不着,就不给出了。

接下来考虑做卷积。

卷积就是 \(C_k=\sum_{i\textup{ op }j=k}A_iB_j\)

其中 \(\textup{op}\) 是一个位运算,也就是说各位独立。

http://www.jsqmd.com/news/700537/

相关文章:

  • GCC 编译 C 语言程序的四个核心阶段【20260425】001篇
  • Chrome-GPT:将大语言模型深度集成到浏览器的开发实践
  • 紧急预警:C++26 `reflexpr` 在模板递归深度>12时触发O(n²) AST生成——你的CI pipeline正在 silently 瘫痪?
  • 2026年4月昆明短视频运营服务商深度**:云南云视联动信息科技有限公司实力解析 - 2026年企业推荐榜
  • 跨国团队必备:3步将飞书国际版文档转换为Markdown
  • 大数据分析专业京东电子数码产品销量评价数据集,数据量大约35000条
  • 2026年4月台州市食材配送服务商综合评估与选择指南 - 2026年企业推荐榜
  • 3分钟学会本地视频字幕提取:免费开源工具终极指南
  • 2026最权威的六大降AI率助手推荐榜单
  • GCC 编译 C 语言程序的四个核心阶段【20260425】002篇---C语言编译与链接深度解析:从源代码到可执行文件的完整旅程
  • MTConnect C++ Agent部署与配置实战:工业数据采集核心组件详解
  • 2026年4月新发布河北电缆回收服务商评估:保定玖能再生资源回收有限公司 - 2026年企业推荐榜
  • Cursor Pro破解工具深度解析:5步实现AI编程助手永久免费完整方案
  • 3分钟恢复Windows 11任务栏拖放功能:简单高效的终极解决方案
  • TMSpeech:Windows本地实时语音转文字终极指南,告别会议记录烦恼
  • 【相机内参标定实战】—— 从棋盘格到配置文件:手把手完成张正友标定
  • 如何在7分钟内搭建专业级仓库管理系统:从零到生产就绪的完整指南
  • 终极ASI加载器:3分钟掌握游戏模组安装的完整指南
  • CentOS 7.9 离线安装 Docker 完整指南【20260425001篇】
  • TV Bro:专为电视遥控器优化的智能浏览器,彻底改变大屏上网体验
  • 树莓派本地部署大语言模型智能体:Foam-Agent实战指南
  • 2026年现阶段天津地区钢面镁质风管直销厂商综合实力解析 - 2026年企业推荐榜
  • 2026届毕业生推荐的十大降AI率助手实际效果
  • CentOS 7.9 离线安装 Docker 完整指南【20260425-002篇】
  • 2026年当前,如何精准联系广东镁挤压机源头厂家并识别其真实力? - 2026年企业推荐榜
  • 如何高效使用ComfyUI-Impact-Pack:专业图像增强与语义分割实战指南
  • 央行数字货币安全设计:访问控制、防双花与隐私保护
  • LeaderF扩展开发指南:如何为LeaderF编写自定义插件
  • 2026四川地区高压水射流清洗服务商top4排行盘点:四川工业清洗,换热器清洗,清洗剂,空压机清洗,优选推荐! - 优质品牌商家
  • CentOS 7.9 离线安装 Docker 完整指南【20260425-003篇】