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

01背包与完全背包学习总结

背包问题分类见下图

参考学习点击:代码随想录01背包讲解

01背包问题:

核心思路:

1、先遍历物品个数,再遍历背包容量。因为容量最先是最大的,往背包里放物品,所以背包容量在慢慢减少,但背包容量需要大于每一个物品体积

2、每个物品有2个选择:选中和不选中。

3、选中的结果是背包剩余容量的最大价值+选中物品的价值;

4、不选中的结果是背包剩余容量还是不变,最大价值还是背包剩余容量的最大价值

 public static void main(String[] args) {int[] weight = {1, 3, 4};  //每个物品体积int[] value = {15, 20, 30}; // 每个物品价值int bagWight = 4;            // 背包容量testWeightBagProblem(weight, value, bagWight);}public static void testWeightBagProblem(int[] weight, int[] value, int bagWeight){//定义dp数组:dp[j]表示背包容量为j时,能获得的最大价值int[] dp = new int[bagWeight + 1];//背包容量来定义dp数组for (int i = 0; i < weight.length; i++){ //先遍历物品for (int j = bagWeight; j >= weight[i]; j--){ //再遍历背包,背包容量是从最大一直慢慢减少          //每个物品有2种选择,选中与不选中:选中的话,背包价值=背包容量剩余物品的价值在加上选中物品的价值//不选中的话,背包价值=背包容量j的价值dp[j] = Math.max(dp[j], dp[j - weight[i]] + value[i]);}}//打印dp数组for (int j = 0; j <= bagWeight; j++){System.out.print(dp[j] + " ");}}

完全背包问题:

相关文章:

01背包与完全背包学习总结

背包问题分类见下图 参考学习点击&#xff1a;代码随想录01背包讲解 01背包问题&#xff1a; 核心思路&#xff1a; 1、先遍历物品个数&#xff0c;再遍历背包容量。因为容量最先是最大的&#xff0c;往背包里放物品&#xff0c;所以背包容量在慢慢减少&#xff0c;但背包容量…...

基于单片机的公共场所马桶设计(论文+源码)

1.系统设计 本课题为公共场所的马桶设计&#xff0c;其整个系统架构如图2.1所示&#xff0c;其采用STC89C52单片机为核心控制器&#xff0c;结合HC-SR04人体检测模块&#xff0c;压力传感器&#xff0c;LCD1602液晶&#xff0c;蜂鸣器&#xff0c;L298驱动电路等构成整个系统&…...

注解案例:山寨Junit与山寨JPA

作者简介&#xff1a;大家好&#xff0c;我是smart哥&#xff0c;前中兴通讯、美团架构师&#xff0c;现某互联网公司CTO 联系qq&#xff1a;184480602&#xff0c;加我进群&#xff0c;大家一起学习&#xff0c;一起进步&#xff0c;一起对抗互联网寒冬 上篇讲了什么是注解&am…...

Codeforces Round 822 (Div. 2)(D前缀和+贪心加血量)

A.选三条相邻的边遍历一次求最小值 #include<bits/stdc.h> using namespace std; const int N 1e610,mod1e97; #define int long long int n,m; vector<int> g[N]; int a[N]; void solve() {cin>>n;int res2e18;for(int i1;i<n;i) cin>>a[i];sort…...

不停的挖掘硬盘的最大潜能

从 NAS 上退休的硬盘被用在了监控的存储上了。 随着硬盘使用寿命的接近尾声&#xff0c;感觉就是从高附加值数据到低附加值数据上。监控数据只会保留那么几个月的时间&#xff0c;很多时候都会被覆盖重新写入。 有人问为什么监控数据不保留几年的&#xff0c;那是因为监控数据…...

Java游戏之飞翔的小鸟

前言 飞翔的小鸟 小游戏 可以作为 java入门阶段的收尾作品 &#xff1b; 需要掌握 面向对象的使用以及了解 多线程&#xff0c;IO流&#xff0c;异常处理&#xff0c;一些java基础等相关知识。一 、游戏分析 1. 分析游戏逻辑 &#xff08;1&#xff09;先让窗口显示出来&#x…...

PostgreSQL (Hologres) 日期生成

PostgreSQL 生成指定日期下一个月的日期 &#xff08;在Hologres中&#xff0c;不支持递归查询&#xff09; SELECTto_char(T, YYYYMMDD)::int4 AS date_int,date(T) AS date_str,date_part(year, T)::int4 AS year_int,date_part(month, T)::int4 AS month_int,date_part(da…...

HCIP-一、RSTP 特性及安全

一、RSTP 特性及安全 实验拓扑实验需求及解法 实验拓扑 实验需求及解法 //1.SW1/2/3是企业内部交换机&#xff0c;如图所示配置各设备名称。 //2.配置VLAN&#xff0c;需求如下&#xff1a; //1&#xff09;SW1/2/3创建vlan10 [SW1]vlan batch 10 [SW2]vlan batch 10 [SW3]vla…...

智能高效的转运机器人,为物流行业注入新动力

在当今社会&#xff0c;随着科技的不断发展&#xff0c;机器人已经逐渐融入到我们的生活中。其中&#xff0c;转运机器人作为物流行业的新秀&#xff0c;正以其高效、智能的特点&#xff0c;引起了广泛的关注。 转运机器人&#xff0c;是指能够自主进行物品搬运和运输的机器人…...

操作系统(三)| 进程管理下 经典进程问题分析 线程 死锁

文章目录 6.经典进程同步问题6.1 生产者-消费者问题 (既有同步又有互斥)6.2 读者-写者问题6.3 哲学家进餐问题6.4理发师问题 7. 进程之间通信7.1 共享存储区7.2 消息传递7.3 管道 8.线程8.1 线程的实现机制 9 进程调度9.1 调度方式9.2 常见算法先来先服务 FCFS短进程优先 SPN最…...

vue3使用tsx自定义弹窗组件

1.在ts代码中使用css 我这里使用了styils/vue&#xff0c;npm install styils/vue --save-dev&#xff0c;在tsx文件中引入即可&#xff1a;import { styled } from "styils/vue"; 2.在tsx中初始化组件&#xff0c;创建在src的utils目录中创建messagebox.tsx impo…...

[笔记] 错排问题 #错排

参考&#xff1a;刷题笔记-错排问题总结 错排问题&#xff1a; 一个n个元素的排列&#xff0c;若一个排列中所有的元素都不在自己原来的位置上&#xff0c;那么这样的一个排列就称为原排列的一个错排。而研究一个排列的错排个数的问题&#xff0c;就称为错排问题&#xff08;或…...

Ajax进阶

前后端传输数据的编码格式(contentType) # 提示: 主要研究post请求数据的编码格式.get请求数据就是直接放在url?号后面的每个参数之间用&符连接, 如下:url?usernamejason&password123 # 可以朝后端发送post请求的方式1 .form表单2. ajax请求# 基于post请求. 前后端传…...

RedisTemplate使用详解

RedisTemplate介绍StringRedisTemplate介绍RedisConnectionFactory介绍RedisConnectionFactory源码解析 RedisOperations介绍RedisOperations源码解析 RedisTemplate使用连接池配置RedisTemplate连接池连接池配置 RedisTemplate应用场景RedisTemplate主要特点RedisTemplate使用…...

6.Gin 路由详解 - GET POST 请求以及参数获取示例

6.Gin 路由详解 - GET POST 请求以及参数获取示例 GET POST 请求以及参数获取示例 Get 请求&#xff1a;获取 Quary 参数 // 获取query参数示例&#xff1a;GET /user?uid20&namejack&page1 r.GET("/user", func(c *gin.Context) {// 获取参数// Query获取参…...

CMakeLists.txt基础指令与cmake-gui生成VS项目的步骤

简介 本博客主要介绍cmake的基本指令&#xff0c;同时&#xff0c;很多使用Visual Studio小白从Gitbub下载项目源码后&#xff0c;看到CMakeLists.txt&#xff0c;不知道如何使用Visual Studio编译源码&#xff1b;针对以上问题&#xff0c;做一下简单操作与解释&#xff0c;方…...

IT应用运维最常用指标

可用性&#xff08;Availability&#xff09; 系统或服务在特定时间范围内可用的百分比。 计算方式&#xff1a;&#xff08;总时间 - 不可用时间&#xff09;/ 总时间 * 100%。 参考值&#xff1a;99.9%。 应用范围&#xff1a;应用系统、网络设备。 故障率&#xff08;Fa…...

Go中各种newreader和newbuffer的使用

一、bytes.NewBuffer和bytes.NewReader func main() {var byteArr []bytebuf : bytes.NewBuffer(byteArr)buf.Write([]byte("今天不错"))fmt.Println(buf.String()) }package mainimport ("bytes""fmt" )func main() {data : []byte("路多…...

visual studio 如何建立 C 语言项目

安装这个 模块。 新建 空项目 创建完成 写demo 点击运行&#xff1a;...

app小程序定制开发的优势|企业软件网站建设

app小程序定制开发的优势|企业软件网站建设 小程序定制开发是目前互联网行业中备受关注的领域之一。随着智能手机的普及和移动互联网的迅猛发展&#xff0c;越来越多的企业和个人开始重视小程序的潜力&#xff0c;并积极寻求定制开发的服务。那么&#xff0c;为什么小程序定制开…...

微信小程序、在线工具、桌面软件,2026年视频转文字工具怎么选

同样是需要把视频转成文字&#xff0c;用微信小程序和用专业转录软件的体验差别比较大。前者即开即用无需等待&#xff0c;后者功能完整但操作流程略显复杂。我在工作中经常需要处理视频素材提取文案&#xff0c;下面会分享一些实用的工具方案&#xff0c;其中微信搜索「提词匠…...

Pantheon:本地AI智能体编排控制平面架构与实践

1. 项目概述&#xff1a;Pantheon&#xff0c;一个本地的AI智能体编排控制平面最近在折腾AI智能体&#xff08;AI Agents&#xff09;的本地化部署和协同工作&#xff0c;发现了一个挺有意思的项目——Pantheon。简单来说&#xff0c;它就像是你本地终端里的一个“智能体指挥中…...

快速原型验证:用快马平台一键生成centos7自动化安装脚本与配置方案

今天在搭建测试环境时&#xff0c;突然想到可以试试用InsCode(快马)平台来快速生成CentOS7的自动化安装脚本。这个需求其实挺常见的&#xff0c;特别是在需要频繁验证不同配置方案的时候。传统方式要反复创建虚拟机太麻烦了&#xff0c;而用脚本自动化就能省下大量时间。 硬件环…...

Cimoc漫画1.7.266逆向广告弹窗

今天安鹿聚焦Cimoc漫画1.7.266的深度优化&#xff0c;手把手教大家实现内置图源、去除广告、屏蔽弹窗与强制更新的操作&#xff0c;无需复杂步骤&#xff0c;打造一个纯净无干扰的看漫工具。 工具 MT管理器(看版本号选最新版本) NP管理器(看版本号选最新版本) Cimoc漫画&…...

PostgreSQL 17 流复制实战:从零搭建到主从切换,一篇讲透所有坑

PostgreSQL 17 流复制实战&#xff1a;从零搭建到主从切换&#xff0c;一篇讲透所有坑 在数据库高可用架构设计中&#xff0c;流复制技术始终是PostgreSQL生态中最核心的保障机制。随着PostgreSQL 17的发布&#xff0c;其流复制模块引入了多项底层优化&#xff0c;比如改进的WA…...

EasyWeChat日志聚合分析终极指南:使用Kibana深度洞察微信API调用模式

EasyWeChat日志聚合分析终极指南&#xff1a;使用Kibana深度洞察微信API调用模式 【免费下载链接】easywechat &#x1f4e6; 一个 PHP 微信 SDK 项目地址: https://gitcode.com/gh_mirrors/ea/easywechat EasyWeChat是一个功能强大的PHP微信SDK&#xff0c;为开发者提供…...

别再傻傻分不清了!C++ STL multiset里upper_bound和lower_bound的5个实战场景对比

彻底掌握multiset边界查找&#xff1a;upper_bound与lower_bound的5个核心应用场景 第一次在项目中使用multiset时&#xff0c;我被upper_bound和lower_bound这两个函数彻底搞晕了。明明都是查找函数&#xff0c;为什么一个返回3&#xff0c;一个返回4&#xff1f;直到在线上环…...

Legacy iOS Kit终极指南:旧款iOS设备降级、越狱与系统恢复完整解决方案

Legacy iOS Kit终极指南&#xff1a;旧款iOS设备降级、越狱与系统恢复完整解决方案 【免费下载链接】Legacy-iOS-Kit An all-in-one tool to restore/downgrade, save SHSH blobs, jailbreak legacy iOS devices, and more 项目地址: https://gitcode.com/gh_mirrors/le/Lega…...

终极免费文档下载解决方案:一键获取30+平台文档的完整指南

终极免费文档下载解决方案&#xff1a;一键获取30平台文档的完整指南 【免费下载链接】kill-doc 看到经常有小伙伴们需要下载一些免费文档&#xff0c;但是相关网站浏览体验不好各种广告&#xff0c;各种登录验证&#xff0c;需要很多步骤才能下载文档&#xff0c;该脚本就是为…...

5分钟搞定炉石传说自动化对战:新手也能轻松上手的智能脚本指南

5分钟搞定炉石传说自动化对战&#xff1a;新手也能轻松上手的智能脚本指南 【免费下载链接】Hearthstone-Script Hearthstone script&#xff08;炉石传说脚本&#xff09; 项目地址: https://gitcode.com/gh_mirrors/he/Hearthstone-Script 还在为炉石传说的日常任务感…...