【代码随想录day25】动态规划:01背包理论基础
题目
有n件物品和一个最多能背重量为w 的背包。第i件物品的重量是weight[i],得到的价值是value[i] 。每件物品只能用一次,求解将哪些物品装入背包里物品价值总和最大。
代码
dp[i][j]: 表示从0~i个物品中选物品放到容量为j的背包中所能获得的最大价值
初始化: 第一列为0,第一行如果有容量>第一个物品重量的则赋值为第一个物品的价值
状态转移方程:dp[i][j]只能由上一个状态的背包“放”与“不放”物品i转移得出,选择“放”或“不放”第i个物品所能获得的最大值作为dp[i][j]的值,即dp[i][j] = max(dp[i-1][j],dp[i-1][j-weight[i]]+value[i])
def solve(weight,value,bag_weight):# dp[i][j]表示从0~i个物品中选物品放到容量为j的背包中所能获得的最大价值dp = [[0]*(bag_weight+1) for _ in range(len(weight))]# 初始化第一列为0,第一行如果有容量>第一个物品重量的则赋值为第一个物品的价值for j in range(1,bag_weight+1):if j>=weight[0]:dp[0][j] = value[0]# dp[i][j]只能由上一个状态“放”与“不放”物品i转移得出for i in range(1,len(weight)):for j in range(1,bag_weight+1):dp[i][j] = max(dp[i-1][j],dp[i-1][j-weight[i]]+value[i])return dp[len(weight)-1][bag_weight]if __name__ == "__main__":weight = [1, 3, 4]value = [15, 20, 30]bagweight = 4result = solve(weight, value, bagweight)print(result)相关文章:
【代码随想录day25】动态规划:01背包理论基础
题目 有n件物品和一个最多能背重量为w 的背包。第i件物品的重量是weight[i],得到的价值是value[i] 。每件物品只能用一次,求解将哪些物品装入背包里物品价值总和最大。 代码 dp[i][j]: 表示从0~i个物品中选物品放到容量为j的背包中所能获得的最大价值 …...
Python Opencv实践 - 轮廓检测
import cv2 as cv import numpy as np import matplotlib.pyplot as pltimg cv.imread("../SampleImages/map.jpg") print(img.shape) plt.imshow(img[:,:,::-1])#Canny边缘检测 edges cv.Canny(img, 127, 255, 0) plt.imshow(edges, cmapplt.cm.gray)#查找轮廓 #c…...
c#保留两位小数
1.使用ToString()方法和格式字符串 double number 3.1415926; string result number.ToString(“F2”); // 将number转换为字符串,并保留两位小数 Console.WriteLine(result); // 输出结果为 “3.14” 2.使用字符串插值和格式字符串 double number 3.1415926;…...
[machineLearning]非监督学习unsupervised learning
1.什么是非监督学习 常见的神经网络是一种监督学习,监督学习的主要特征即为根据输入来对输出进行预测,最终会得到一个输出数值.而非监督学习的目的不在于输出,而是在于对读入的数据进行归类,选取特征,打标签,通过对于数据结构的分析来完成这些操作, 很少有最后的输出操作. 从…...
C语言深入理解指针(非常详细)(四)
目录 字符指针变量数组指针变量数组指针变量是什么数组指针变量怎么初始化 二维数组传参的本质函数指针变量函数指针变量的创建函数指针变量的使用代码typedef关键字 函数指针数组转移表 字符指针变量 字符指针在之前我们有提到过,(字符)&am…...
知识库建设:从0到1搞定知识库建设的方法论分享
如果我们想要搭建一个知识库,前提是我们要明确知道这个知识库是干什么用的,只有了解知识库的应用场景才能知道如何去建设知识库。 知识库建设 以常见的电商客服为例,客户会经常咨询什么时候发货,怎么退货,怎么换货………...
SpringBoot+Vue 的留守儿童系统的研究与实现,2.0 版本,附数据库、教程
博主介绍:✌程序员徐师兄、7年大厂程序员经历。全网粉丝30W,Csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 文章目录 1.研究背景2. 技术栈3.系统分析4系统设计5系统的详细设计与实现5.1系统功能模块5.2管理员功能模块…...
28.考试
Description 小学期马上就要结束了,为了检验大家的学习成果,老师进行了一次考试。然而小徐前两周半都忙于练习篮球,几乎没有学习,因此考试时很可能做不完所有题目。 但小徐仍然想要拿到尽可能高的分数,因此在做题时需要…...
浏览器窗口间的通信
一、汇总 二、同源策略 三、webSocket (无跨域限制) 优点:无跨域限制 缺点:成本高 四、客户端存储 1、localStorage onStorage 例子: 2、定时器 客户端存储 例子: 缺点: 五、postMessage (无跨域…...
MATLAB 的 plot 绘图
文章目录 SyntaxDescriptionplot(X,Y)plot(X,Y,LineSpec)plot(X1,Y1,…,Xn,Yn)plot(X1,Y1,LineSpec1,...,Xn,Yn,LineSpecn)plot(Y)plot(Y,LineSpec)plot(tbl,xvar,yvar)plot(tbl,yvar)plot(ax,___)plot(___,Name,Value)p plot(___) plot: 2-D line plot Syntax plot(X,Y)plo…...
SpringBoot项目--电脑商城【获取省市区列表】
1.易错点 1.错误做法 新增收货地址页面的三个下拉列表的内容展示没有和数据库进行交互,而是通过前端实现的(将代码逻辑放在了distpicker.data.js文件中),实现方法是在加载新增收货地址页面时加载该js文件,这种做法不可取 2.正确做法 把这些数据保存到数据库中,用户点击下拉…...
使用git把本地项目关联远程代码仓库,并推送到远程仓库
你在本地新建了一个项目,写好了代码,但是没有关联远程仓库,怎么关联并上传呢? 你要先去gitee创建一个代码仓库,然后复制http地址。 首次提交项目代码到一个新建的远程仓库: 1、通过命令 git init 把这个…...
Spring+MyBatis使用collection标签的两种使用方法
目录 项目场景: 实战操作: 1.创建菜单表 2.创建实体 3.创建Mapper 4.创建xml 属性描述: 效率比较: 项目场景: 本文说明了Spring BootMyBatis使用collection标签的两种使用方法 1. 方法一: 关联查询 2. 方法…...
k8s集群中集群方式安装nacos
1、前提条件 一个k8s集群,其中有三个master 节点,这三个节点的标签名称为etcd 三个master节点的ip 分别为:192.165.187.170 、192.165.187.171、192.165.187.172一个mysql 数据库, 数据库的ip 为:192.165.187.180 用户…...
极客时间:数据结构与算法之美【学习笔记+思考实践】
本篇是 《极客时间:数据结构与算法之美》课程的学习笔记和带有自己的一些思考实践。原文学习链接如下:https://time.geekbang.org/column/intro/100017301 开篇词 | 从今天起,跨过“数据结构与算法”这道坎01 | 为什么要学习数据结构和算法&a…...
基于视觉重定位的室内AR导航项目思路(2):改进的建图和定位分离的项目思路
文章目录 一、建图二、定位首先是第一种方法:几何方法其次是第二种方法:图像检索方法最后是第三种方法:深度学习方法 前情提要: 是第一次做项目的小白,文章内的资料介绍如有错误,请多包含! 一、…...
nodejs+vue+elementui精品课程网站设计
前端技术:nodejsvueelementui基于nodejs语言、vue.js框架、B/S架构、Mysql数据库设计并实现了精品课程网站设计。系统主要包括首页、个人中心、用户管理、课程信息管理、课程分类管理、学习论坛、在线试题管理、试题管理、系统管理、考试管理等功能模块。 本文首先介…...
40个Linux常用命令组合
1.删除0字节文件 find -type f -size 0 -exec rm -rf {} \; 2.查看进程 按内存从大到小排列 ps -e -o "%C : %p : %z : %a"|sort -k5 -nr 3.按cpu利用率从大到小排列 ps -e -o "%C : %p : %z : %a"|sort -nr 4.打印说cache里的URL grep -r -a jpg …...
NIFI关于Variables的使用
说明 NIFI中的变量(variables)和参数(parameters)在引用的时候是有区别的。 参数的引用是使用#{参数名}的形式。 变量是使用${变量名}的形式来引用。 nifi版本:1.23.2(docker镜像) Variable…...
2、VRP基础
本节我们介绍华为设备的VRP系统平台的一些基本知识,为以后学习路由交换的配置命令做好基本的准备。在这里,为软考网络工程师做准备,只需要了解其中比较基础的即可,包括VRP是什么、提供了哪些用户界面、VRP的用户级别、基本的配置视…...
VS Code Live Server完全指南:告别手动刷新,拥抱实时开发新时代
VS Code Live Server完全指南:告别手动刷新,拥抱实时开发新时代 【免费下载链接】vscode-live-server Launch a development local Server with live reload feature for static & dynamic pages. 项目地址: https://gitcode.com/gh_mirrors/vs/vs…...
基于规则引擎的Markdown笔记自动化归档工具设计与实现
1. 项目概述:一个为知识工作者打造的自动化归档工具如果你和我一样,每天在 Obsidian、Logseq 或者任何支持 Markdown 的笔记软件里记录大量的“每日笔记”,那么你一定也面临过同样的困扰:日积月累,一个名为“Daily Not…...
(最新版)GitGitHub实操图文详解教程(01)—Git的起源
版权声明 本文原创作者:谷哥的小弟作者博客地址:http://blog.csdn.net/lfdfhl 在现代软件开发过程中,版本控制工具已经成为代码管理与团队协作的重要基础设施。随着软件项目规模不断扩大以及多人协作需求日益复杂,开发团队不仅需…...
如何用FanControl快速解决电脑风扇噪音问题:完整免费指南
如何用FanControl快速解决电脑风扇噪音问题:完整免费指南 【免费下载链接】FanControl.Releases This is the release repository for Fan Control, a highly customizable fan controlling software for Windows. 项目地址: https://gitcode.com/GitHub_Trending…...
PoE Overlay终极指南:3个核心技巧解决流放之路玩家最头疼的问题
PoE Overlay终极指南:3个核心技巧解决流放之路玩家最头疼的问题 【免费下载链接】PoE-Overlay An Overlay for Path of Exile. Built with Overwolf and Angular. 项目地址: https://gitcode.com/gh_mirrors/po/PoE-Overlay 你是否曾经在《流放之路》中面对满…...
2026年好用的图片去水印工具有哪些?图片去水印工具推荐盘点
2026年好用的图片去水印工具有哪些?图片去水印工具推荐盘点 说实话,水印虽然能保护原创,但有时候我们也需要对自己拍摄或拥有版权的图片进行处理。比如拍了张好看的图,却被平台的logo挡住了关键部分;或者想要把多个平…...
Midjourney概念艺术风格≠调参!20年CG总监拆解:风格生成本质是跨模态语义压缩,3个关键损失函数阈值决定成败
更多请点击: https://intelliparadigm.com 第一章:Midjourney概念艺术风格≠调参!20年CG总监的范式颠覆 风格不是参数堆砌,而是语义锚点重构 传统AI绘画工作流常将“风格”等同于反复调整 --s、--style raw 或后缀词如 trending…...
告别Canvas截图:用MediaProjection搞定Android状态栏和视频画面的完整截取方案
Android屏幕捕获终极方案:MediaProjection深度解析与实战 在移动应用开发中,屏幕捕获功能的需求日益增长,从用户反馈收集到操作演示录制,再到远程协作支持,这一功能已成为许多应用的核心竞争力。然而,传统基…...
RabbitMQ-C测试框架深度解析:单元测试、集成测试与模糊测试
RabbitMQ-C测试框架深度解析:单元测试、集成测试与模糊测试 【免费下载链接】rabbitmq-c RabbitMQ C client 项目地址: https://gitcode.com/gh_mirrors/ra/rabbitmq-c RabbitMQ-C是一个功能强大的RabbitMQ C客户端库,为确保其稳定性和可靠性&…...
3DS文件传输终极解决方案:告别命令行,轻松无线推送游戏文件
3DS文件传输终极解决方案:告别命令行,轻松无线推送游戏文件 【免费下载链接】3DS-FBI-Link Mac app to graphically push CIAs to FBI. Extra features over servefiles and Boop. 项目地址: https://gitcode.com/gh_mirrors/3d/3DS-FBI-Link 对于…...
