【板子】 0-1背包问题 一维数组

2023-11-10

0-1背包问题

有 N 件物品和一个容量是 V 的背包。每件物品只能使用一次。

第 i 件物品的体积是 vi,价值是 wi。

求解将哪些物品装入背包,可使这些物品的总体积不超过背包容量,且总价值最大。
输出最大价值。

输入格式

第一行两个整数,N,V,用空格隔开,分别表示物品数量和背包容积。

接下来有 N 行,每行两个整数 vi,wi,用空格隔开,分别表示第 i 件物品的体积和价值。

输出格式

输出一个整数,表示最大价值。

数据范围

0<N,V≤1000
0<vi,wi≤1000

输入样例

4 5
1 2
2 4
3 4
4 5

输出样例:

8

实现代码

#include<bits/stdc++.h>
using namespace std;

const int maxn=1010;
int v[maxn],w[maxn];
int dp[maxn];

int main()
{
	int m,n;
	scanf("%d %d",&m,&n);
	
	for(int i=1;i<=m;i++)
	{
		scanf("%d %d",&v[i],&w[i]);
	}
	
	for(int i=1;i<=m;i++)
	{
		for(int j=n;j>=v[i];j--)
		{
			dp[j]=max(dp[j],dp[j-v[i]]+w[i]);//动态规划 
		}
	}
	
	printf("%d",dp[n]);//表示当前容量能达到的最大价值 
	return 0;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【板子】 0-1背包问题 一维数组 的相关文章

  • 【Espruino】NO.17 使用平板电脑调试Espruino(OTG方式)

    http blog csdn net qwert1213131 article details 38068379 本文属于个人理解 能力有限 纰漏在所难免 还望指正 小鱼有点电 Espruino中文社区 本节内容主要是讲如何用平板电脑调试E
  • 定义列表

    dl dt 槟榔 dt dd 湖南 海南产 dd dd 有提神作用 dd dd 吃多了不好 dd dd 有点贵 dd dl

随机推荐

  • JAVA 关键字介绍 strictfp

    JAVA虽然具有跨平台性 但是各个平台对浮点数的运算操作是不相同的 所以在不同平台上进行的浮点数操作所得到的结果可能不同 strictfp 强制规定各个平台上进行一套标准的浮点数操作 浮点规范IEEE 754 以降低性能为代价 当一个类被s
  • Latex中如何实现图并列/表并列/以及混合并列排版以及双列变单列

    一 图并列2 2排版 两外的1 2都可以参考下列代码 begin figure htbp centering begin minipage 0 49 linewidth 表示图片的占用那一列的宽度 centering vspace 0 6c
  • java8 32位和64位资源分享 Windows 版本:8u311

    阿里云盘 Java8u311 点击链接保存 或者复制本段内容 打开 阿里云盘 APP 无需下载极速在线查看 视频原画倍速播放 链接 https www aliyundrive com s RK8wK2m41bv 百度云盘 链接 https
  • 每个前端人都应该看看的Vue3开源项目

    从目前的一线面试经验来看 八股文跟吃饭一样已经麻了 而项目题 场景题才是面试官考察的重点和加分项 正好我之前整理过一份全网爆火且值得学习的前端实战资料 这里无偿分享出来以便大家突击提升技术 另外还有前端必备基础资料 可帮助大家实战 理论双重
  • LeetCode(Python)—— 最后一个单词的长度(简单)

    最后一个单词的长度 概述 给你一个字符串 s 由若干单词组成 单词前后用一些空格字符隔开 返回字符串中最后一个单词的长度 单词是指仅由字母组成 不包含任何空格字符的最大子字符串 输入 s Hello World 输出 5 输入 s fly
  • on project rocketmq-dashboard: Failed to run task: ‘yarn install’ failed. org.

    最新Windows环境下搭建RocketMQ及其控制台环境 1 搭建RocketMQ 1 1 下载RocketMQ 官网下载地址 https rocketmq apache org release notes 选择合适的版本下载Binary
  • 黄平书-线接触热弹流润滑 Fortran+Matlab转译代码

    原Fortran代码有错误 进行了修改 数值上差别不大 根据Fortran代码转的Matlab 可以完美运行 但是因为精度问题有差异 只能说趋势是一致的 需要私我 资源里只是Fortran运行结果
  • 2023华为OD机试真题【恢复数字序列】

    题目内容 对于一个连续正整数组成的序列 可以将其拼接成一个字符串 再将字符串里的部分字符打乱顺序 如序列8 9 10 11 12 拼接成的字符串为89101112 打乱一部分字符后得到90811211 原来的正整数10就被拆成了0和1 现给
  • 程序员Linux学到什么程度,Linux学到什么程度,才可以找到合适的工作?

    首先我说一下我的学习路线吧 我是学习java出生的 懂编程的人都知道 一般我们程序员用开发系统 大多数都是在linux系统上开发的 在最开始的时候把我哥给了我一本书 我名字就叫鸟哥的私房菜 这本书非常不错 非常适合刚入门的新手看学习 里面讲
  • python中定时执行脚本

    python中定时执行脚本 引入time os sched 这三个是必备的 import time os sched def ll num print 123123456 with open tt txt ab as txt txt wri
  • Spring Cloud Edgware新特性之九:Sleuth使用MQ方式整合Zipkin

    原文 http www itmuch com spring cloud edgware new sleuth zipkin mq 众所周知 Spring Cloud Sleuth有两种方式整合Zipkin HTTP直连Zipkin方式 MQ
  • 微众银行蝉联入选《福布斯》全球区块链50强

    美东时间2023年2月7日 福布斯 杂志公布2023年全球区块链50强榜单 微众银行蝉联入选 微众银行因联合多方共建开源联盟链生态圈 以及基于DDTP Distributed Data Transfer Protocol 分布式数据传输协议
  • 腾讯云存储上传头像、文件功能(超详细保姆级)

    创建腾讯云 并实名认证 地址 申请腾讯云账号 腾讯云 产业智变 云启未来 腾讯 在官网搜索对象存储 点击立即使用 创建存储桶 无脑下一步 唯一注意点就是可以选择共有读写 以及取一个存储桶的名称 查看存储桶列表 点击进某个存储桶后 可以上传文
  • 【Qt Quick】用Qt编辑器书写C++项目、解决输出中文问题

    系统 Win10 IDE Qt 1 简介 我想直接用qt的编辑器写c 的项目 不再重新下载vs2019等 2 创建项目 创建好以后 默认会有如下代码 include
  • JDK源码汇总

    JDK源码汇总 持续更新中 Appendable
  • 关于Android中的api、implementation、compile理解

    1 compile在3 0及以上的gradle版本已弃用 2 api可以完全代替compile 利用api导入的包可以被下级引用 3 implementation只是编译时引用 并不把引入的包打包进项目 4 java library项目依然
  • 操作系统真象还原实验记录之实验十五:多线程调度

    操作系统真象还原实验记录之实验十五 多线程调度 对应书P428 9 4节 1 相关基础知识 2 实验记录 2 1 实验流程 上次实验中 实现了一个线程的运行 具体是 1 申请了一页物理页作为PCB 2 init thread填写了位于PCB
  • 攻防世界--MISC题之坚持60s

    问题描述 难度系数 四颗星 题目来源 08067CTF 题目描述 菜狗发现最近菜猫不爱理他 反而迷上了菜鸡 题目场景 暂无 题目附件 附件1 题目分析 文件是一个jar文件 于是就想到了java 其实 在我看来 它就是一个压缩包 所以 大致
  • ROS 学习笔记(一)

    前言 最近在学习ros 为毕设作准备 和师兄交流过 想了想还是先把A 的路径规划给做完 然后在去做动态无限充电的实验好了 目前学习的视频还是经典中的经典 古月ros21讲 这个看完之后再去看师兄推荐的文章 vscode开发ROS1 3 创建
  • 【板子】 0-1背包问题 一维数组

    0 1背包问题 有 N 件物品和一个容量是 V 的背包 每件物品只能使用一次 第 i 件物品的体积是 vi 价值是 wi 求解将哪些物品装入背包 可使这些物品的总体积不超过背包容量 且总价值最大 输出最大价值 输入格式 第一行两个整数 N