动态计划.pptVIP

  • 11
  • 0
  • 约3.66千字
  • 约 22页
  • 2018-07-17 发布于湖北
  • 举报
动态计划

* 动态规划 by 石门中学 柯新宇 背包问题简单类型 01背包--即选和不选 O(n) 完全背包--有无限个物品,倒着做就行了,O(n) 至于为什么? ---------自已YY 多重背包--枚举个数 O(nmW) 背包问题简单类型 01背包--即选和不选 O(n) 完全背包--有无限个物品,倒着做就行了,O(n) 至于为什么? ---------自已YY 多重背包--枚举个数 O(nmW) 对于多重背包,有这样一个问题: 有n种物品,它们重量和价值为 wi 和 vi。选出一些物品,使总重量不超过 W 且它们的价值最大。 第 i 种物品可以选 mi 个 n≤100 wi,vi≤100 mi,W≤10000 显然,直接做是肯定超时的 关于多重背包的优化 分解优化: 对于 mi 来说 mi 可以分解成1+2+……+2^k+a( 0 ≤ a < 2^(k-1) ) 那么这就包含了所有的情况 ( 0 ~ mi ) 一个选 mi 个的物品就分成 log mi 个物品(只选一个) 这样,总物品就分成了O(nlogm) 个。 直接一般的01背包就可以在O(nW logm) 内A掉。 关于多重背包的优化 int dp[maxw+1]; void solve() { for(int i=0;i=n;i++){

文档评论(0)

1亿VIP精品文档

相关文档