原文:背包,子集和以及 (max, +) 卷积在特殊情形下的求法

背包,子集和以及 max, 卷积在特殊情形下的求法 子集和 :总重量不太大 有 n 个物品,每个物品重量为 w i ,且 sum limits i w i C 。你需要对于 k in ,C 均求出是否存在子集和 k 。 时间复杂度 mathcal O frac C sqrt C omega ,空间复杂度 mathcal O n frac C omega 。 我们对于相同重量的物品二进制分组,然后暴 ...

2022-02-01 20:51 3 1972 推荐指数:

查看详情

[学习笔记]子集卷积

前置知识 FMT:对于两个下标在 \([0,2^n)\) 的数组 \(f\) 和 \(g\),求: \[h_i=\sum_{j\text{ or }k=i}f_jg_k ...

Mon May 25 06:41:00 CST 2020 0 824
FMT 与 子集(逆)卷积

本文参考了 Dance of Faith 大佬的博客 我们定义集合并卷积 \[h_{S} = \sum_{L \subseteq S}^{} \sum_{R \subseteq S}^{} [L \cup R = S] f_{L} * g_{R} \] 最暴力的时候只能 ...

Mon Jan 14 01:39:00 CST 2019 0 796
01背包问题(二)恰好装满的情形

恰好装满,表示空间V完全被占用。 之前的题目是说,在不超过空间V的情况,使价值最大化。 现在考虑动态规划的初始值问题。 在前一个问题中,dp[i][v]初始化设置为0. 因为在初始状态,背包中没有任何物品。不论背包的容量多大,里面的价值只是0.这个状态是合法的。因为背包并没有超出 ...

Tue Nov 21 03:40:00 CST 2017 0 2665
FMT 和 子集卷积

FMT 和 子集卷积 FMT 给定数列 $ a_{0\dots 2^{k}-1} $ 求 $ b $ 满足 $ b_{s} = \sum_{i\in s} a_i $ 实现方法很简单, 然后称为 $ B = \text{FMT}(A) $ ,快速莫比乌斯变换 想要还原也很简单,把代码 ...

Sun Mar 01 07:40:00 CST 2020 0 996
【科技】快速莫比乌斯变换(反演) 与 子集卷积

我们比较了解的是有关多项式的乘法运算,对于下标为整数,下标运算为相加等于某个数的时候,我们有很优秀的FFT做法。 但是遇到一些奇怪的卷积形式时,比如我们定义 $h = f * g$, $h_{S} = \sum\limits_{L \subseteq S}^{} \sum\limits_{R ...

Fri Apr 13 18:07:00 CST 2018 1 2978
0-1背包问题与子集合加总问题的近似算法

最近没有怎么更新博客,因为一直比较忙。最近发现所里在做的一个项目中,可以抽出一部分内容和0-1背包问题、子集合加总问题非常相似(虽然表面上不容易看出相似点),所以看了一些这方面的资料和论文,这里主要对问题特点和算法思想做一些整理。这类问题其实很有意思,做数学和做计算机的人都会研究 ...

Mon Nov 09 20:01:00 CST 2015 0 1981
快速沃尔什变换(FWT)及K进制异或卷积&快速子集变换(FST)讲解

前言:   $FWT$是用来处理位运算(异或、与、或)卷积的一种变换。位运算卷积是什么?形如$f[i]=\sum\limits_{j\oplus k==i}^{ }g[j]*h[k]$的卷积形式(其中$\oplus$为位运算)就是位运算卷积。如果暴力枚举的话,时间复杂度是$O(n^2)$,但运用 ...

Thu Mar 14 06:33:00 CST 2019 3 999
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM