布尔计数型背包知识点与例题应用.pdfVIP

  • 0
  • 0
  • 约5.47千字
  • 约 5页
  • 2026-05-27 发布于北京
  • 举报

J1-1

布尔计数型背包

一、知识点

常规的01背包计算的是价值的最大值,如果经过初始化调整也可以求最小值。

除了求最值外,01背包还可以用来判断可行性以及求可能的情况数,这种我们称为布尔型

背包与计数型背包。

它们的整体思路和常规最值背包一致,只不过在转移方程与初始值有所差异。

(1)布尔型背包

此时,dp[n][v]表示的是前n个物体总体积为v是否可行,可行为0,不可行为1。

很自然可以得到转移方程:

dp[i][j]=dp[i-1][j]||dp[i-1][j-x]

其中x为第i个物体的体积。

同样,也可以把空间压缩为一维:

dp[j]=dp[j]||dp[j-x]

或者利用位运算直接简化为:

dp[j]|=dp[j-x]

初始值只需要把dp[0]=1,因为在不用任何物体的情况下,只有总体积为0才是可行的。

(2)计数型背包

此时,dp[n][v]表示的是前n个物体总体积为v的情况数。

其转

文档评论(0)

1亿VIP精品文档

相关文档