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

蓝桥杯19682 完全背包

问题描述

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

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

输入格式

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

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

输出格式

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

样例输入

4 5
1 2
2 4
3 4
4 5

样例输出

10

说明

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

 

 

#include<iostream>
#include<algorithm>
using namespace std;const int N = 1e3+10;
int n, m;
int v[N], w[N];  
int dp[N];  //dp[j]表示背包容量为j时的最大价值int main()
{cin>>n>>m;for(int i=1; i<=n; ++i) cin>>v[i]>>w[i];for(int i=1; i<=n; ++i)  //遍历每个物品{//内层循环从v[i]到m正向遍历,这使得同一物品可以被多次选取for(int j=v[i]; j<=m; ++j){//dp[j]:不选当前物品//dp[j - v[i]] + w[i]:选当前物品dp[j] = max(dp[j], dp[j-v[i]] + w[i]);}}cout<<dp[m];return 0;
}

 

http://www.dtcms.com/a/198105.html

相关文章:

  • 用户下单-01.需求分析和设计-接口设计
  • 【Linux网络编程】Socket编程-Socket理论入门
  • 深入了解linux系统—— 基础IO(上)
  • Redis学习打卡-Day3-分布式ID生成策略、分布式锁
  • 基于First Order Motion与TTS的AI虚拟主播系统全流程实现教程
  • UI-TARS本地部署
  • 中级网络工程师知识点7
  • 学习黑客Active Directory 入门指南(一)
  • 先说爱的人为什么先离开
  • Manus 全面开放注册,OpenAI 发布 Codex,ChatGPT 上线 GPT-4.1!| AI Weekly 5.12-18
  • 2KW压缩机驱动参考设计【SCH篇】
  • 【AI】Ubuntu 22.04 4060Ti16G 基于SWIFT框架的LoRA微调 模型Qwen3-1.8B 数据集弱智吧 微调笔记
  • 【DAY22】 复习日
  • Markdown 简历生成器——ResumeCraft 开发历程分享
  • 微信小程序 地图 使用 射线法 判断目标点是否在多边形内部(可用于判断当前位置是否在某个区域内部)
  • Linux概述:从内核到开源生态
  • Python实例题:Flask开发轻博客
  • 异常日志规范
  • UniRef100 ID 转换 UniProtKB ID
  • Qt音视频开发过程中一个疑难杂症的解决方法/ffmpeg中采集本地音频设备无法触发超时回调
  • 【AWS入门】Amazon Bedrock简介
  • 机器学习-人与机器生数据的区分模型测试 - 模型融合与检验
  • 深入浅出Hadoop:大数据时代的“瑞士军刀”
  • Day29
  • 上位机知识篇---Web
  • 【C++】模板上(泛型编程) —— 函数模板与类模板
  • 嵌入式硬件篇---ESP32驱动异常
  • 代码随想录算法训练营第六十五天| 图论10—卡码网94. 城市间货物运输 I,95. 城市间货物运输 II
  • **HTTP/HTTPS基础** - URL结构(协议、域名、端口、路径、参数、锚点) - 请求方法(GET、POST) - 请求头/响应头 - 状态码含义
  • Mac下载bilibili视频