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

动态规划解背包问题

题目

在这里插入图片描述

题解

def knapsac(W: int, N: int, wt: List[int], val: List[int]) -> int:# 定义状态动作价值函数: dp[i][j],对于前i个物品,当前背包容量为j,最大的可装载价值dp = [[0 for j in range(W+1)] for i in range(N+1)]# 状态动作转移for i in range(1, N+1):for w in range(1, W+1):# 边界条件判断:当当前容量足以容纳第i个商品时,有两种选择if w - wt[i-1] > 0:# # 放入第i个物品 vs 不放入dp[i][w] = max(dp[i-1][w - wt[i-1]] + val[i-1], dp[i-1][w])# 否则只有1种选择,不放else:dp[i][w] = dp[i - 1][w]return dp[N][W]
http://www.lryc.cn/news/235488.html

相关文章:

  • PCL内置点云类型
  • clickhouse数据结构和常用数据操作
  • upload-labs关卡9(基于win特性data流绕过)通关思路
  • C++过河卒问题
  • 【机器学习12】集成学习
  • nodeJs基础笔记
  • Skywalking流程分析_9(JDK类库中增强流程)
  • 矩阵的QR分解
  • STL总结
  • 资深测试总结,现在软件测试有未来吗?“你“的底气在哪里?
  • Scalable Exact Inference in Multi-Output Gaussian Processes
  • sqli-labs(Less-3)
  • 集合框架面试题
  • 【LeetCode刷题日志】225.用队列实现栈
  • 【JavaScript】fetch 处理流式数据,实现类 chatgpt 对话
  • 收发电子邮件
  • sql13(Leetcode570至少有5名直接下属的经理)
  • 15分钟,不,用模板做数据可视化只需5分钟
  • C 语言字符串函数
  • nvm安装详细教程(卸载旧的nodejs,安装nvm、node、npm、cnpm、yarn及环境变量配置)
  • 详细步骤记录:持续集成Jenkins自动化部署一个Maven项目
  • Python学习(一)基础语法
  • 【C刷题】day7
  • 数据挖掘复盘——apriori
  • Windows10下Maven3.9.5安装教程
  • 【开源】基于JAVA的校园失物招领管理系统
  • requests爬虫IP连接初始化问题及解决方案
  • Argo Rollouts结合Service进行Blue-Green部署
  • mongodb——原理简介,docker单机部署
  • ThinkPHP 系列漏洞