01背包-动态规划

01背包

在这里插入图片描述
在这里插入图片描述

易知状态转移方程为:
dp[i][j] = max(dp[i-1][j],dp[i-1][j-v[i]]+w[i])

代码

N,V = map(int,input().split())
v, w = [0],[0] # 体积v,价值w
for i in range(N):
    a = list(map(int,input().split()))
    v.append(a[0]) # 体积vi
    w.append(a[1]) # 价值wi
dp = [[0 for j in range(V+1)] for i in range(N+1)] # 创建二维列表并初始化为0,行为物品数量,列为背包容量

for i in range(1,N+1): # 物品数从0到N
    for j in range(1,V+1): # 背包容量从0到V
        dp[i][j]=dp[i-1][j] # 先不选
        if j>=v[i]: # 当背包容量大于某个物品体积时选择价值大的那个
            dp[i][j] = max(dp[i-1][j],dp[i-1][j-v[i]]+w[i])
print(dp[-1][-1])

从状态转移方程看,可以将二维数组dp优化为一维,每次更新第i行的状态值

代码

N,V = map(int,input().split())
v, w = [0],[0] # 体积v,价值w
for i in range(N):
    a = list(map(int,input().split()))
    v.append(a[0]) # 体积vi
    w.append(a[1]) # 价值wi
    
dp =[0 for i in range(V+1)] # 创建一维列表并初始化为0

for i in range(1,N+1):
    for j in range(V,v[i]-1,-1):
        dp[j]= max(dp[j],dp[j-v[i]]+w[i])
print(dp[-1])

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

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

相关文章

【牛客】【刷题节】美团2024届秋招笔试第一场编程真题

1.小美的外卖订单【简单题】 题意理解: 这道题是简单题,主要是一个逻辑实现和判断的问题。但是简单题一般喜欢加一点小障碍,所以读题的时候就要比较注意一些约束条件。就比如这道题:过了15/20个测试用例,出现error, 当…

基于ssm的社区文化宣传网站论文

摘 要 随着科学技术的飞速发展,社会的方方面面、各行各业都在努力与现代的先进技术接轨,通过科技手段来提高自身的优势,社区文化宣传网站当然也不能排除在外。社区文化宣传网站是以实际运用为开发背景,运用软件工程开发方法&…

奇舞周刊第523期:来自 rust 生态的强烈冲击?谈谈 Leptos 在语法设计上的精妙之处...

奇舞推荐 ■ ■ ■ 来自 rust 生态的强烈冲击?谈谈 Leptos 在语法设计上的精妙之处 过去很长一段时间,前端框架们都在往响应式的方向发展。同时又由于 React hooks 的深远影响,函数式 响应式成为了不少前端心中最理想的前端框架模样。Solid …

语音情感分类(1)简单可运行项目(附代码)

1.目标 题主最开始是想做一个音乐情感分类的模型,但是查阅相关文献发现这个范围太大了,音乐情感特征包括文本,音频,甚至有的还有画面,是一个多模态的范畴。所以退而求其次,找了一个接近的语音情感分类来学…

Vmware虚拟机无法用root直连说明

Vmware虚拟机无法用root直连说明 背景目的SSH服务介绍无法连接检查配置 背景 今天在VM上新装了一套Centos-stream-9系统,网络适配器的连接方式采用的是桥接,安装好虚拟机后,在本地用ssh工具进行远程连接,ip、用户、密码均是成功的…

图片格式转换:快速将PNG转换为JPG的步骤

在我们的日常生活中,经常会遇到需要改变图片格式的情况,有时候,我们可能需要将PNG格式的图片转换为jpg格式,以适应不同的需求和应用场景;本文将介绍哥实用的方法和工具,帮助您顺利将png图片转换为jpg格式。 压缩图网站…

睿考网:注册会计师考试有什么题型?

注册会计师专业阶段考试共6门科目,各科目考试题型略有不同。 《会计》考试题型为单项选择题、多项选择题、计算分析题、综合题。 《审计》考试题型为单项选择题、多项选择题、综合题、简答题。 《税法》考试题型为单项选择题、多项选择题、综合题、计算问答题。 …

GPT提示词分享 —— 口播脚本

可用于撰写视频、直播、播客、分镜头和其他口语内容的脚本。 提示词👇 请以人的口吻,采用缩略语、成语、过渡短语、感叹词、悬垂修饰语和口语化语言,避免重复短语和不自然的句子结构,撰写一篇关于 [主题] 的文章。 GPT3.5&#…

代码随想录算法训练营Day36|LC435 无重叠区间LC763 划分字母区间LC56 合并区间

一句话总结:都是和昨天的用最少箭引爆气球类似的题。 原题链接:435 无重叠区间 计数不重叠的区间的个数,然后用总长度减去这个值即可。 class Solution {public int eraseOverlapIntervals(int[][] intervals) {Arrays.sort(intervals, (a,…

Linux进程调度CFS

1. 进程 1.1 什么是进程? 操作系统作为硬件的使用层,提供使用硬件资源的能力,而进程作为操作系统使用层,提供使用操作系统抽象出的资源层的能力。进程是指计算机中已运行的程序。进程本身不是基本的运行单位,而是线程…

EasyCVR在银河麒麟V10系统中启动异常及解决方法

安防监控视频平台EasyCVR具备较强的兼容性,它可以支持国标GB28181、RTSP/Onvif、RTMP,以及厂家的私有协议与SDK,如:海康ehome、海康sdk、大华sdk、宇视sdk、华为sdk、萤石云sdk、乐橙sdk等。平台兼容性强,支持Windows系…

css-基本问题

margin 塌陷问题 什么是margin 塌陷? 第一个子元素的上 margin 会作用在父元素上,最后一个子元素的下 margin 会作用在父元素上。 出现的原因: 在早期的时候,制定者认为,第一个子元素的上margin 给父元素&#xff…

刷题之贪心3

前言 大家好,我是jiantaoyab,这篇文章将给大家介绍贪心算法和贪心算法题目的练习和解析,贪心算法的本质就是每一个阶段都是局部最优,从而实现全局最优。加上这篇文章一共有30道贪心题目了,加油! 坏了的计算器 题目分析…

Web举例:防火墙二层,上下行连接交换机的主备备份组网

Web举例:防火墙二层,上下行连接交换机的主备备份组网 介绍了业务接口工作在二层,上下行连接交换机的主备备份组网的Web举例。 组网需求 如图1所示,两台FW的业务接口都工作在二层,上下行分别连接交换机。FW的上下行业…

【爬虫基础】第2讲 使用Urllib库创建第一个爬虫程序

Urllib 是 Python 的标准库,它提供了一系列用于处理 URL 的函数和类,包括发送 HTTP 请求、处理 HTTP 响应、解析 URL 等功能。可以使用 urllib 来编写简单的网络爬虫。 request:它是最基本的HTTP请求模块,可以用来模拟发送请求。只…

2024年 (第十届)全国大学生统计建模大赛优秀论文解析——中国经济发展与碳排放库兹涅茨曲线的验证研究

一、摘要 二、引言 三、文献综述 四、研究方法 五、数据来源与分析 5.1变量选择 5.2数据来源 六、模型研究与建立过程 七、结果分析 八、结论及建议 参考文献: 更多资料请联系CSDN 建模忠哥小师妹

【WEEK4】 【DAY5】AJAX第二部分【中文版】

2024.3.22 Friday 接上文【WEEK4】 【DAY4】AJAX第一部分【中文版】 目录 8.4.Ajax异步加载数据8.4.1.新建User.java8.4.2.在pom.xml中添加lombok、jackson支持8.4.3.更改tomcat设置8.4.4.修改AjaxController.java8.4.5.新建test2.jsp8.4.5.1.注意:和WEB-INF平级&…

【SpringBoot整合系列】SpringBoot3.x整合Swagger

目录 产生背景官方解释:作用SpringBoot3整合Swagger注意事项swagger3 常用注解SpringBoot3.x整合Swagger1.创建工程(jdk:17,boot:3.2.4)2.引入pom依赖3.application.yml添加配置4.添加swagger3.0配置5.控制器层(Controller)6.模型层(Model)7.启动并测试【Get请求接口…

AlphaGPT在法律大模型圈子火了,案件仅需3分钟搞定

AI不断应用在新的领域,法律行业也不例外。法律AI大模型的到来无疑给业内法律人造成了一定的冲击,但也有更多专业人士指出,法律AI是未来的大趋势,我们要学会利用它,而不是逃避它。 AlphaGPT是法律AI大模型的代表性产品…

[伴学笔记]02-应用视角的操作系统 [南京大学2024操作系统]

文章目录 前言jyy: 02-应用视角的操作系统Everything(二进制程序) 状态机什么是状态机? 操作系统上的应用程序理解高级语言程序 信息来源: 前言 督促自己,同时分享所得,阅读完本篇大约需要10分钟,希望为朋友的技术精进之路尽到绵薄之力.码字不易,望能给个点赞和收藏,以激励笔…