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

关于 FWT

FWT

FWT 的思想就是将数列经过变换后,将位运算卷积变为逐位相乘,最终通过逆变换将其得到所求数列。单次 FWT 的时间复杂度为 \(O(2^nn)\) 可以将 \(O(3^n)\) 甚至更高的卷积优化。

或卷积

\(C_s=\sum_{s=t|z}A_t\times B_z\)\(FWT(F)_s=\sum_{t \subseteq s}F_t\)

可以发现 \(FWT\) 的变换就是求每个集合的子集和,这个东西是容易用高维前缀和做到 \(O(2^nn)\)。下面将证明它的正确性:

\[FWT(C)_s=FWT(A)_s \times FWT(B)_s \\ \sum_{w\subseteq s}C_s=\sum_{x\subseteq s}A_x \sum_{y\subseteq s}B_y\\\sum_{w\subseteq s} \sum_{w=x|y} A_x\times B_y=\sum_{x\subseteq s}A_x \sum_{y\subseteq s}B_y \]

发现两边意义相同,证毕。

由于其良好的性质,计算单值时可以做到 \(O(2^n)\) ,简单容斥即可。

与卷积

和或卷积几乎同理。

异或卷积

\(C_s=\sum_{s=t\oplus z}A_t\times B_z\)\(FWT(F)_s=\sum_{t\circ s=0}F_t-\sum_{t\circ s=1}F_t\)

(定义\(s\circ t=popcount(s\&t)(mod\ 2)\))

变换本身是容易的,直接依次考虑 \(2^i\) 的贡献即可,证明如下:

\[FWT(C)_s=FWT(A)_s\times FWT(B)_s\\ \sum_{t\circ s=0}C_t-\sum_{t\circ s=1}C_t=(\sum_{x\circ s=0}A_t-\sum_{x\circ s=1}A_t)(\sum_{y\circ s=0}B_t-\sum_{y\circ s=1}B_t)\\ \sum_{t\circ s=0}\sum_{x\oplus y=t}A_xB_y-\sum_{t\circ s=1}\sum_{x\oplus y=t}A_xB_y= (\sum_{x\circ s=0}A_t\sum_{y\circ s=0}B_t+ \sum_{x\circ s=1}A_t\sum_{y\circ s=1}B_t)- (\sum_{x\circ s=0}A_t\sum_{y\circ s=1}B_t+ \sum_{x\circ s=1}A_t\sum_{y\circ s=0}B_t) \]

注意到有 \((x\oplus y)\circ s=(x\circ s)\oplus (y\circ s)\),所以式子左右两边相等。

子集卷积

子集卷积一般使用或卷积实现,在或卷积的基础上,再加上位数的限制就行了。时间复杂度会多一个 \(n\)

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

相关文章:

  • 2025-2026北京最牛的律师事务所口碑排名白皮书:专业解析+公正评价 - 苏木2025
  • 2025全球智能机械与电子产品博览会创新科技成果发布会在澳门举办
  • 2025年12月cfd经纪商推荐:聚焦监管牌照与订单执行综合实力 - 品牌鉴赏师
  • AI 提问总结
  • 2025年工业冷水机厂家推荐:靠谱的水冷箱式工业冷水机组厂家 - myqiye
  • 快速部署EmotiVoice:一键生成带情感的AI语音
  • 2025有生产资质的精密压延机厂家TOP5权威推荐:资深厂商 - mypinpai
  • 泼尼松 环孢素 副作用
  • 大模型入门必读:AI发展史与核心技术演进(值得收藏)
  • 软考—系统集成项目管理工程师计算公式汇总
  • springboot vue2校园兼职平台设计与实现
  • Hutool CollStreamUtil 一行搞定分组、转换、合并全场景
  • 1.8 上下文管理秘籍:从零构建长短期记忆,让你的 Agent 不再健忘
  • 【收藏必备】Transformer原理与实现:大模型开发者必学核心知识
  • 2.1 Agent 开发新范式!LangGraph 从链式思维到图状态的革命
  • 洛谷 P1551 题解
  • 15、网络相似度与二分网络的构建与分析
  • 收藏!大模型必学:一文搞懂Text2SQL与RAG的本质区别,面试官听了都点头
  • audio drv
  • EmotiVoice语音情感标签体系设计逻辑详解
  • 基于YOLO11改进MFM的进气插头表面缺陷检测与识别
  • 设计少儿编程逻辑训练AI助手,通过图形化编程积木操作,AI实时判断代码逻辑错误,提供引导提示,非直接给出答案,记录能力成长轨迹。
  • EmotiVoice情感语音生成的神经网络结构图解
  • 3.5 生产环境部署实战与问题排查
  • 设计AI Agent的人机协作接口
  • EmotiVoice在远程医疗问诊系统中的辅助沟通价值
  • 【赵渝强老师】在PostgreSQL中访问Oracle
  • 【收藏必备】大模型时代AI Agent开发:智能客服实战指南与产品经理工作框架
  • 年底“年假清零”成难题?看管理者如何规避合规与成本双重风险
  • 3.6 线上问题排查实战:让你的 AI 服务 7x24 小时稳定运行