

- #include
- using namespace std;
- int bag[1001];
- int bagMax[1001];
- int bagvalue[1001];
- int main(){
- int n,v;
- cin>>n>>v;
- for(int i=0;i
- cin>>bag[i]>>bagvalue[i];
- }
- for(int j=0;j
- //为啥要将物品遍历放到外面因为如果放到里面的话就会重复放入背包
- //但是本题的每一个物品只有一个
- //并且如果遍历背包是顺序的方式的话也会重复,举个例子
- //物体一的价值为100 但是重量只有1当遍历重量为2的时候我们第一次背包大小为1的时候已经放入了。
- //但是此时还是会继续放入物品一,大小够。
- //所以反过来就不会。从最大的开始遍历的话,物品在背包最大时不会重复放入
- //具体的看下图
- for(int i=v;i>=1;i--){
- if(bag[j]<=i){
- bagMax[i] = max(bagMax[i],bagMax[i-bag[j]]+bagvalue[j]);
- }
- }
- }
-
-
相关阅读:
混沌工程测试工具:chaosblade:基础命令
转录组分析小故事丨什么是RNAseq?
双十一最值得入手的好物有哪些,盘点五款最值得入手的好物分享
java 数组的深浅拷贝
Unity中的MVC思想
工作电压范围宽的国产音频限幅器D2761用于蓝牙音箱,输出噪声最大仅-90dBV
如何写好一份PPT
ESP32学习笔记 - 基于 ESP32 移植 LVGL8.3
Aigtek:介电弹性体高压放大器在软体机器人研究中的应用
(三十三)geoserver源码&添加新的数据存储
-
原文地址:https://blog.csdn.net/qq_62556650/article/details/132921574