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

背包问题整理

1.01背包

题目描述
小明有一个容量为 V 的背包。

这天他去商场购物,商场一共有N 件物品,第 i 件物品的体积为 wi,价值为 vi。

小明想知道在购买的物品总体积不超过 V的情况下所能获得的最大价值为多少,请你帮他算算。

输入描述
输入第 11 行包含两个正整数 N,V,表示商场物品的数量和小明的背包容量。

第 2∼N+1 行包含 2 个正整数 w,v,表示物品的体积和价值。

1≤N≤100 ,1≤V≤1000,≤wi,vi≤10000。

输出描述
输出一行整数表示小明所能获得的最大价值。

样例

输入

5 20
1 6
2 5
3 8
5 15
3 3 

输出

37

代码示例

import java.util.Scanner;
// 1:无需package
// 2: 类名必须Main, 不可修改public class Main {public static void main(String[] args) {Scanner scan = new Scanner(System.in);//在此输入您的代码...int n = scan.nextInt();int m = scan.nextInt();int[] w = new int[m+1];int[] v = new int[n+1];for(int i = 1;i<=n;i++){v[i] = scan.nextInt();w[i] = scan.nextInt();}int[][] dp = new int[n+1][m+1];for(int i = 1;i<=n;i++){for(int j = 1;j<=m;j++){if(j>=v[i]){dp[i][j] = Math.max(dp[i][j-v[i]]+w[i],dp[i-1][j]);}else{dp[i][j] = dp[i-1][j];}}}System.out.println(dp[n][m]);scan.close();}
}

2.完全背包

问题描述

有 N 件物品和一个体积为 M 的背包。第 ii 个物品的体积为 vi​,价值为 wi​。每件物品可以使用无限次。

请问可以通过什么样的方式选择物品,使得物品总体积不超过 M 的情况下总价值最大,输出这个最大价值即可。

输入格式

第一行输入两个正整数 N,M。(1≤N,M≤1000)(1≤N,M≤1000)

接下来 NN 行,每行输入两个整数 vi,wi​。(0≤vi,wi≤1000)(0≤vi​,wi​≤1000)

输出格式

输出一个整数,表示符合题目要求的最大价值。

样例输入

4 5
1 2
2 4
3 4
4 5

样例输出

10

说明

你可以选择 1 个第一个物品和 2 个第二个物品。

代码示例

import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner sc = new Scanner(System.in); int n = sc.nextInt(); // 物品数量int m = sc.nextInt(); // 背包容量int[] w = new int[n]; // 物品体积数组int[] v = new int[n]; // 物品价值数组// 输入每种物品的体积和价值for (int i = 0; i < n; i++) {w[i] = sc.nextInt();v[i] = sc.nextInt();}// 创建一个一维数组dp,dp[i]表示背包容量为i时的最大价值int[] dp = new int[m + 1];// 动态规划求解for (int i = 0; i < n; i++) {for (int j = w[i]; j <= m; j++) {dp[j] = Math.max(dp[j - w[i]] + v[i], dp[j]);}}// 输出最大价值System.out.println(dp[m]);}
}

相关文章:

背包问题整理

1.01背包 题目描述 小明有一个容量为 V 的背包。 这天他去商场购物&#xff0c;商场一共有N 件物品&#xff0c;第 i 件物品的体积为 wi&#xff0c;价值为 vi。 小明想知道在购买的物品总体积不超过 V的情况下所能获得的最大价值为多少&#xff0c;请你帮他算算。 输入描述…...

基于Matlab车牌识别课程设计报告

Matlab车牌识别系统 分院&#xff08;系&#xff09; 信息科学与工程 专业 学生姓名 学号 设计题目 车牌识别系统设计 内容及要求&#xff1a; 车牌定位系统的目的在于正确获取整个图像中车牌的区域&#xff0c; 并识别出车牌号。通过设计实现车牌识别系…...

SSM框架实战小项目:打造高效用户管理系统 day3

前言 在前两篇博客中&#xff0c;后台已经搭建完毕&#xff0c;现在需要设计一下前端页面 webapp下的项目结构图 创建ftl文件夹&#xff0c;导入css和js 因为我们在后台的视图解析器中&#xff0c;设置了页面解析器&#xff0c;跳转路径为/ftl/*.ftl&#xff0c;所以需要ftl文件…...

一款现代化、可定制的跨平台文件浏览器,高颜值高效率的的管理神器!(附私活源码)

在如今这个注重效率的时代&#xff0c;我们每天都在与文件打交道。 但是&#xff0c;你有没有感觉到传统的文件管理器总是让人提不起劲&#xff1f;单调的外观&#xff0c;有限的功能&#xff0c;仿佛是上个世纪的产物。 一直以来&#xff0c;我都在寻找一款既颜值高又功能强…...

【C】二分查找与函数1

二分查找 练习&#xff1a; 给定一个整型的有序数组&#xff0c;在数组中找到指定的一个值&#xff0c;如&#xff1a; 1&#xff0c;2&#xff0c;3&#xff0c;4&#xff0c;5&#xff0c;6&#xff0c;7&#xff0c;8&#xff0c;9&#xff0c;10 找出7.如果找到了&#x…...

光纤光学的基本方程

一、麦克斯韦方程与亥姆赫兹方程 1.1 麦克斯韦方程 光纤是一种介质光波导&#xff0c;具有以下特点&#xff1a; ① 无传导电流 ② 无自由电荷 ③ 线性各向同性 推导出来的即为波动方程。为材料在真空中的磁导率&#xff0c;为材料在真空中的介电常数&#xff0c;n为材料折…...

题解:CF584D Dima and Lisa

前置知识 哥德巴赫猜想&#xff0c;任一大于 2 2 2 的偶数都可写成两个素数之和。 思路 我们可以分类讨论一下。 n n n 一开始就是质数。直接输出即可 n n n 是偶数&#xff0c;那么一定可以写成两个质数之和。那么暴力枚举两个质数即可。 如果以上均不符合&#xff0c;计…...

【OD】【E卷】【真题】【100分】内存资源分配(PythonJavaJavaScriptC++C)

题目描述 有一个简易内存池&#xff0c;内存按照大小粒度分类&#xff0c;每个粒度有若干个可用内存资源&#xff0c;用户会进行一系列内存申请&#xff0c;需要按需分配内存池中的资源返回申请结果成功失败列表。 分配规则如下&#xff1a; 分配的内存要大于等于内存的申请…...

Linux基础项目开发day05:量产工具——页面系统

文章目录 一、数据结构抽象page_manager.h 二、页面管理器page_manager.c 三、单元测试1、main.page.c2、page_test.c3、Makefile修改3.1、unittest中的Makefile3.2、page中的Makefile 四、上机实验 前言 前面实现了显示、输入、文字、UI系统&#xff0c;现在我们就来实现页面的…...

保护企业终端安全,天锐DLP帮助企业智能管控终端资产

为有效预防员工非法调包公司的软硬件终端资产&#xff0c;企业管理员必须建立高效的企业终端安全管控机制&#xff0c;确保能够即时洞察并确认公司所有软硬件资产的状态变化。这要求企业要有一套能够全面管理终端资产的管理系统&#xff0c;确保任何未经授权的资产变动都能被迅…...

2024市场营销第3次课

品牌管理 1.认识品牌 品牌定义&#xff1a;一个名称、术语、标志、符号或设计&#xff0c;或者是它们的组合&#xff0c;用来识别某个销售商或某一群销售商的产品或服务&#xff0c;并使其与竞争者的产品或服务区分开来。 品牌构成&#xff1a;成功品牌的构成都是由外及内的…...

Python基础之函数的定义与调用

一、函数的定义 在Python中&#xff0c;函数是一段可重复使用的代码块&#xff0c;用于完成特定的任务。可以使用def关键字来定义函数。 语法如下&#xff1a; def function_name(parameters): """docstring""" # function body return expres…...

GPU在AI绘画中的作用以及GPU的选择

大家好&#xff0c;我是Shelly&#xff0c;一个专注于输出AI工具和科技前沿内容的AI应用教练&#xff0c;体验过300款以上的AI应用工具。关注科技及大模型领域对社会的影响10年。关注我一起驾驭AI工具&#xff0c;拥抱AI时代的到来。 GPU在AI绘画中的作用&#xff1a; GPU在A…...

【火山引擎】 Chat实践 | 大模型调用实践 | python

目录 一 前期工作 二 Doubao-pro-4k_test实践 一 前期工作 1 已在火山方舟控制台在线推理页面创建了推理接入点 ,接入大语言模型并获取接入点 ID。 2 已参考安装与初始化中的步骤完成 SDK 安装和访问凭证配置...

mysql学习教程,从入门到精通,SQL 注入(42)

1、 SQL 注入 SQL 注入是一种严重的安全漏洞&#xff0c;它允许攻击者通过操纵 SQL 查询来访问、修改或删除数据库中的数据。由于 SQL 注入的潜在危害&#xff0c;我不能提供具体的恶意代码示例。然而&#xff0c;我可以向你展示如何防御 SQL 注入&#xff0c;并解释其工作原理…...

图论day60|108.冗余连接(卡码网) 、109.冗余连接II(卡码网)【并查集 摧毁信心的一题,胆小的走开!】

图论day60|108.冗余连接&#xff08;卡码网&#xff09;、109.冗余连接II&#xff08;卡码网&#xff09;【并查集 摧毁信心的一题&#xff0c;胆小的走开&#xff01;】 108.冗余连接&#xff08;卡码网&#xff09;109.冗余连接II&#xff08;卡码网&#xff09;【并查集 摧毁…...

即使是编程新手,也能利用ChatGPT编写高质量的EA

在外汇交易领域&#xff0c;MetaTrader是一款备受欢迎的交易软件&#xff0c;包括MT5和MT4&#xff0c;提供了众多强大的分析工具和自动化交易功能。对于没有编程经验的新手而言&#xff0c;编写专家顾问&#xff08;EA&#xff09;可能显得既复杂又令人望而却步。幸运的是&…...

StarRocks大批量数据导入方案-使用 Routine Load 导入数据

本文详细介绍如何使用Routine Load 导入数据 一、准备工作 1.1 安装基础环境 主要是安装StarRocks和Kafka&#xff0c;本文直接跳过不做详细介绍~ 二、概念及原理 2.1 概念 导入作业&#xff08;Load job&#xff09; 导入作业会常驻运行&#xff0c;当导入作业的状态为 R…...

从零开始学PHP之输出语句变量常量

一、 输出方式 在 PHP 中输出方式&#xff1a; echo&#xff0c;print&#xff0c;print_r&#xff0c;var_dump 1、echo和print为php的输出语句 2、var_dump&#xff0c;print_r为php的输出函数 &#xff08;这里不做介绍&#xff09;echo 和 print 区别 1、echo - 可以输出…...

二叉树算法之字典树(Trie)详细解读

字典树&#xff08;Trie&#xff0c;也称前缀树或单词查找树&#xff09;是一种用于快速查找字符串的数据结构&#xff0c;主要应用于字符串集合的高效存储和查找。字典树特别适合处理具有相同前缀的大量字符串集合&#xff0c;比如单词自动补全、拼写检查等场景。 1. 字典树的…...

网络六边形受到攻击

大家读完觉得有帮助记得关注和点赞&#xff01;&#xff01;&#xff01; 抽象 现代智能交通系统 &#xff08;ITS&#xff09; 的一个关键要求是能够以安全、可靠和匿名的方式从互联车辆和移动设备收集地理参考数据。Nexagon 协议建立在 IETF 定位器/ID 分离协议 &#xff08;…...

手游刚开服就被攻击怎么办?如何防御DDoS?

开服初期是手游最脆弱的阶段&#xff0c;极易成为DDoS攻击的目标。一旦遭遇攻击&#xff0c;可能导致服务器瘫痪、玩家流失&#xff0c;甚至造成巨大经济损失。本文为开发者提供一套简洁有效的应急与防御方案&#xff0c;帮助快速应对并构建长期防护体系。 一、遭遇攻击的紧急应…...

(十)学生端搭建

本次旨在将之前的已完成的部分功能进行拼装到学生端&#xff0c;同时完善学生端的构建。本次工作主要包括&#xff1a; 1.学生端整体界面布局 2.模拟考场与部分个人画像流程的串联 3.整体学生端逻辑 一、学生端 在主界面可以选择自己的用户角色 选择学生则进入学生登录界面…...

基于Flask实现的医疗保险欺诈识别监测模型

基于Flask实现的医疗保险欺诈识别监测模型 项目截图 项目简介 社会医疗保险是国家通过立法形式强制实施&#xff0c;由雇主和个人按一定比例缴纳保险费&#xff0c;建立社会医疗保险基金&#xff0c;支付雇员医疗费用的一种医疗保险制度&#xff0c; 它是促进社会文明和进步的…...

汽车生产虚拟实训中的技能提升与生产优化​

在制造业蓬勃发展的大背景下&#xff0c;虚拟教学实训宛如一颗璀璨的新星&#xff0c;正发挥着不可或缺且日益凸显的关键作用&#xff0c;源源不断地为企业的稳健前行与创新发展注入磅礴强大的动力。就以汽车制造企业这一极具代表性的行业主体为例&#xff0c;汽车生产线上各类…...

python爬虫:Newspaper3k 的详细使用(好用的新闻网站文章抓取和解析的Python库)

更多内容请见: 爬虫和逆向教程-专栏介绍和目录 文章目录 一、Newspaper3k 概述1.1 Newspaper3k 介绍1.2 主要功能1.3 典型应用场景1.4 安装二、基本用法2.2 提取单篇文章的内容2.2 处理多篇文档三、高级选项3.1 自定义配置3.2 分析文章情感四、实战案例4.1 构建新闻摘要聚合器…...

自然语言处理——Transformer

自然语言处理——Transformer 自注意力机制多头注意力机制Transformer 虽然循环神经网络可以对具有序列特性的数据非常有效&#xff0c;它能挖掘数据中的时序信息以及语义信息&#xff0c;但是它有一个很大的缺陷——很难并行化。 我们可以考虑用CNN来替代RNN&#xff0c;但是…...

Python基于历史模拟方法实现投资组合风险管理的VaR与ES模型项目实战

说明&#xff1a;这是一个机器学习实战项目&#xff08;附带数据代码文档&#xff09;&#xff0c;如需数据代码文档可以直接到文章最后关注获取。 1.项目背景 在金融市场日益复杂和波动加剧的背景下&#xff0c;风险管理成为金融机构和个人投资者关注的核心议题之一。VaR&…...

【Linux】自动化构建-Make/Makefile

前言 上文我们讲到了Linux中的编译器gcc/g 【Linux】编译器gcc/g及其库的详细介绍-CSDN博客 本来我们将一个对于编译来说很重要的工具&#xff1a;make/makfile 1.背景 在一个工程中源文件不计其数&#xff0c;其按类型、功能、模块分别放在若干个目录中&#xff0c;mak…...

react菜单,动态绑定点击事件,菜单分离出去单独的js文件,Ant框架

1、菜单文件treeTop.js // 顶部菜单 import { AppstoreOutlined, SettingOutlined } from ant-design/icons; // 定义菜单项数据 const treeTop [{label: Docker管理,key: 1,icon: <AppstoreOutlined />,url:"/docker/index"},{label: 权限管理,key: 2,icon:…...