动态规划--01背包问题

news/2024/10/5 4:55:54

解题思路


二维列表思路def bag_value(ls, vol):""":param ls: 水果体积及价值列表,列表长度表示水果种类,ls[i][0]表示体积,ls[i][1]表示价值,:param vol:背包体积ls = [[3, 1], [4, 5], [5, 6], [7, 9]]vol = 10:return:"""num = len(ls)   # 物品种类# 生成一个二维列表存放当前背包体积时的最优价值dp_ls = [[0 for _ in range(vol+1)] for _ in range(len(ls)+1)]ls.insert(0, 0)for i in range(1, num+1):for j in range(1, vol+1):print(i, j)# i = 1if ls[i][0] <= j:# 比较上一个状态dp_ls[i - 1][j]和当前状态的值,最大有最优# 当前状态的值 = 当前物品的价值 + (当前背包的体积-物品的体积)即上一个最优状态dp_ls[i-1]的列dp_ls[i-1][j-ls[i][0]]所对应的价值dp_ls[i][j] = max(dp_ls[i - 1][j], ls[i][1] + dp_ls[i-1][j-ls[i][0]])  #else:dp_ls[i][j] = dp_ls[i-1][j]print('最优矩阵:', dp_ls)print("最大价值:", dp_ls[-1][-1])

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ryyt.cn/news/67863.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

Docker系列-超级详细教你Linux安装并使用docker compose,如何使用docker-compose安装sqlserver

docker compose是什么? Docker Compose 和docker功能一样,为了运行容器服务,但是docker compose比docker更好的一点是:允许你在一个 YAML 文件中定义多个容器及其配置,并通过一条命令启动和管理这些容器。 为什么要使用docker compose? 通过 Compose,您可以使用 YML 文件…

手把手非常详细图文并茂教你 Docker 部署 SQL Server

前提条件linux服务器 服务器装好了Docker 引擎 1.8 及更高版本 至少 2 GB 的磁盘空间 至少 2 GB 的 RAM搜索镜像 docker search mssql-server拉取镜像 找到适合你的版本,拉取镜像,下面这个是我从官方文档里直接找到的镜像哇~ docker pull mcr.microsoft.com/mssql/server:202…

git报错集

报错集 1.打标签报错 前戏:在开发了基础的项目功能后,在推送到远端仓库后,打算给提交的版本打标签,报错了 $ git push origin --tags fatal: unable to access https://github.com/ICP-team/仓库名.git/: Failed to connect to github.com port 443 after 21072 ms: Could…

财务知识-20个常用的会计分录

财务知识——20个常用的会计分录

[rCore学习笔记 029] 动态内存分配器实现-以buddy_system_allocator源码为例

在上一部分,我们讲了动态内存分配器的原理是维护一个堆,而且是实现各种连续内存分配方法. 但是上一部分是直接通过引用了buddy_system_allocator来解决的问题. 那么对于内存分配算法有兴趣的我,还是决定看一下源码,总之人是咸鱼但是还是需要有梦想. 人生这么不顺,若是连梦想都没…

工具推荐:搜索和删除Windows上重复文件的神器:AllDup

​ AllDup是一款免费的重复文件查找工具,它能够帮助用户快速识别和管理计算机上的重复文件。这些文件可能包括文本、图片、音乐、视频等多种类型。AllDup使用快速查询算法,可以有效地搜索和定位重复项,从而帮助用户释放硬盘空间,组织文件结构,并提高系统性能。 下载地址:h…

工具推荐:完全免费的电脑 Epub 阅读器软件 Jane Reader

​ Jane Reader是一款现代化的电子书阅读器,支持EPUB格式,旨在提供类似于纸质书籍的阅读体验。它具有简洁、清爽的界面,支持自动多栏、多主题、直排模式等功能,并提供了一系列个性化设置,如自定义边距、行高、字体大小等。Jane Reader还内置了常用字体,如宋体、黑体、仿宋…

工具推荐:开源免费的文件备份恢复工具:Kopia

​ Kopia是一个开源的备份和恢复工具,适用于Windows、macOS和Linux操作系统。它提供了命令行界面(CLI)和图形用户界面(GUI),支持增量备份、客户端端到端加密、数据压缩和重复数据删除等功能。Kopia的设计注重安全性和效率,支持多种存储后端,如本地磁盘、网络文件系统或…