子集卷积 学习笔记

  • 如果没有交集的情况,就可以做或运算卷积
  • 考虑交集,没有交集=大小和相同
  • 依次考虑集合的大小为0,1,...,n
  • 对每种情况,构造长度为(1<<n)的集合幂级数,只对size=i赋值
  • 枚举答案中集合的大小为0,1,...,n
  • 对每个i,枚举f中的贡献是(j),g中的贡献是(i-j)
  • 让(j)和(i-j)做或运算卷积,答案一定合法
  • 现在的复杂度是O(\(n^2\)n\(2^n\)),利用FWT的正逆变换都是线性的,就能够做到O(\(n^2\)*\(2^n\))
posted @ 2024-09-06 22:19  D06  阅读(2)  评论(0编辑  收藏  举报