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

内江网站建设公司莆田专业建站公司

内江网站建设公司,莆田专业建站公司,网络服务费分录,国内付费代理ip哪个好#蓝桥#JAVA#背包问题 题目描述 有一个背包,它的容量为 W 4。有 3 个物品,它们的重量分别为 [2, 1, 3],价值分别为 [4, 2, 3]。问在不超过背包容量的情况下,能装入背包的物品的最大价值是多少? 解题思路 动态规划的…

#蓝桥#JAVA#背包问题

题目描述

有一个背包,它的容量为 W = 4。有 3 个物品,它们的重量分别为 [2, 1, 3],价值分别为 [4, 2, 3]。问在不超过背包容量的情况下,能装入背包的物品的最大价值是多少?

解题思路

动态规划的核心在于将大问题分解为小问题,并保存小问题的解以避免重复计算。对于背包问题,我们定义一个二维数组 dp[i][w] 表示前 i 个物品放入容量为 w 的背包中所能获得的最大价值。状态转移方程为:

  • 当 w < weights[i-1] 时,dp[i][w] = dp[i-1][w],即当前物品重量超过背包容量,不能放入,最大价值不变。
  • 当 w >= weights[i-1] 时,dp[i][w] = max(dp[i-1][w], dp[i-1][w - weights[i-1]] + values[i-1]),即可以选择放入或不放入当前物品,取两者中的最大值。
代码实现
def knapsack(weights, values, W):n = len(weights)# 创建二维数组 dpdp = [[0 for _ in range(W + 1)] for _ in range(n + 1)]# 填充 dp 数组for i in range(1, n + 1):for w in range(1, W + 1):if w < weights[i - 1]:dp[i][w] = dp[i - 1][w]else:dp[i][w] = max(dp[i - 1][w], dp[i - 1][w - weights[i - 1]] + values[i - 1])return dp[n][W]

http://www.dtcms.com/a/514204.html

相关文章:

  • 表白制作网站wordpress 文章太多
  • 自己搭建视频播放网站网页设计是网站建设与管理的内容吗
  • 用linux系统怎么自己建设网站涪城网站建设
  • 摄像头监控设备企业网站模板.net网站开发程序员
  • 设计网站推荐 zoo哪个网站做简历免费
  • 网页设计类官网手机网站seo优化
  • DW怎么做电商网站网站建设技术服务费怎么入账
  • 旅游主题网站策划书wordpress需要mysql
  • 网站建设合同内容哪里可以兼职答题
  • 临汾做网站申请免费个人网站
  • 程序员必知的网站微信分销佣金是什么
  • 大学生婚恋网站策划书专业网站建设分类标准
  • 深圳模板建站平台莱芜在线论坛最新消息
  • h5效果展示网站wordpress后台不对劲
  • 做高仿表网站网站英文版怎么做
  • 合肥企业网站建设公司哪家好宁波建设局网站首页
  • 1元购网站建设防城港网络推广
  • 天津制作网站公司网站建设_
  • 网站建设属于应用软件吗网站建设的现状和未来
  • 山西网站建设免费网页网站设计制作
  • 广州 行业 网站建设iis网站数据库失败
  • 关于申请建设网站申请报告深圳刚刚突然宣布
  • 做五金有哪些网站推广如何上传网站到云服务器
  • 校园文化建设相关网站久久建筑网碗扣式钢管脚手架安全技术规范
  • 烟台广告公司网站建设网站seo策划
  • 网站建设营销方案山东省建设教育集团网站首页
  • 做前端网站用什么软件写代码discuz插件
  • 模板下载免费网站十大营销策略
  • 给女友做的网站 源码赤峰建设网站
  • 贵州网站建设公司wordpress菜单分级