当前位置: 首页 > 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;
}

 

相关文章:

  • 用户下单-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中采集本地音频设备无法触发超时回调
  • 特朗普与普京通话前夕,英美法德意领导人通话讨论俄乌问题
  • 国际博物馆日|航海博物馆:穿梭于海洋神话与明代造船工艺间
  • 全中国最好的十个博物馆展陈选出来了!
  • 三方合作会否受政局变化影响?“中日韩+”智库合作论坛在沪举行
  • “先增聘再离任”又添一例,景顺长城基金经理鲍无可官宣辞职
  • 多少Moreless:向世界展示现代中式家具的生活美学