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

52. 携带研究材料

题目描述

小明是一位科学家,他需要参加一场重要的国际科学大会,以展示自己的最新研究成果。他需要带一些研究材料,但是他的行李箱空间有限。这些研究材料包括实验设备、文献资料和实验样本等等,它们各自占据不同的空间,并且具有不同的价值。

小明的行李空间为 N,问小明应该如何抉择,才能携带最大价值的研究材料,每种研究材料可以选择无数次,并且可以重复选择。

输入

第一行包含两个整数,N,V,分别表示研究材料的种类和行李空间 

接下来包含 N 行,每行两个整数 wi 和 vi,代表第 i 种研究材料的重量和价值

输出

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

样例输入 复制
4 5
1 2
2 4
3 4
4 5
样例输出 复制
10
提示

第一种材料选择五次,可以达到最大值。

数据范围:

1 <= N <= 10000;
1 <= V <= 10000;
1 <= wi, vi <= 10^9.

#include<iostream>
#include<vector>
using namespace std;int n,bagweight; // 种类    空间 void chose(){vector<int>weight(n);vector<int>value(n);for(int i = 0;i <n;i++){cin >> weight[i] >> value[i];}//完全背包:一个物品可以被拿n次,所以,是正序。 拓展:先物品后背包,是组合数,即不允许集合重复。 先背包后物品,是排列数,顺序不一样也算//dp[j]:容量为j的背包,最多可放dp[j]的价值vector<int>dp(bagweight+1);//递推关系:dp[j] = max(dp[j], dp[j-weight[i]] + valu[i]);//初始化;dp[0] = 0;for(int i = 0;i < n;i++){for(int j = weight[i];j <= bagweight;j++){dp[j] = max(dp[j], dp[j-weight[i]] + value[i]);}} cout << dp[bagweight];
}
int main(){cin >> n >> bagweight;chose();return 0;
}

http://www.lryc.cn/news/225642.html

相关文章:

  • 局域网内部服务器访问外部网络
  • IP行业API助力于网络分析和数据挖掘
  • Azure 机器学习 - 如何使用模板创建安全工作区
  • 可变类与不可变类
  • 什么是Node.js的调试器(debugger)工具?
  • log4j CVE-2021-44228 RCE漏洞复现
  • leetcode 刷题 - 有效三角形个数 - 长度最小的子数组 - 无重复字符的最长子串
  • 如何更好的使用Copilot
  • C++ Qt 学习(五):Qt Web 编程
  • 基于arm-gcc 工具链开发mcu程序时,怎么便捷查看内存映像
  • 亚马逊云科技Zero ETL集成全面可用,可运行近乎实时的分析和机器学习
  • Java 设计模式——访问者模式
  • Mysql联合查询
  • 响应式婴幼儿早教启蒙网站模板源码
  • ChatGPT付费创作系统V2.4.9独立版 +WEB端+ H5端 + 小程序端系统测试安装教程
  • react 修改less文件后保存,内存溢出,项目崩溃问题解决
  • Lib文件和netlist的关系,DDC文件和netlist的区别
  • 万宾科技智能井盖,实现对井盖的监测
  • 使用Python从零实现多分类SVM
  • WPF ToggleButton 主题切换动画按钮
  • centerOS下docker 搭建IotDB集群
  • Vue3-Composition-API-学习笔记
  • NSS [HUBUCTF 2022 新生赛]checkin
  • 免费小程序HTTPS证书
  • Linux arm64异常简介和系统调用过程
  • 我遇到的最蠢的bug,竟然是因为这个原因……
  • 【Mysql】查询mysql的版本
  • 广州华锐互动:VR互动实训内容编辑器助力教育创新升级
  • 2023最新版本 从零基础入门C++与QT(学习笔记) -1- C++输入与输出
  • Linux:权限篇 (彻底理清权限逻辑!)