1782. Knapsack(动态)
来源:互联网 发布:java课程设计 编辑:程序博客网 时间:2024/05/18 02:56
/*1782. Knapsack(动态规划)题目大意:给出n个物体(每个物体有自己的容量)和一个背包, 求出背包能装入物体的最大总容量 方法:建立一个maxSize数组,记录当剩余j容量时能装入物体的最大容量 当有j容量剩余时,若此时有个体积为size[index]的物体要进入, 判断该物体是否能进入的方法是。Preleft=j-size[index]为当前容量 空出size[index]后, 找到maxSize 在剩余Preleft时的最大体积是多少 比较当前剩余j容量时装物体的体积 ,取大的那个 max( maxSize[h] , size[index]+maxSize[PreSize] ) 则maxSize[max]记为结果 */#include <iostream>#include <stdlib.h>#include <algorithm>using namespace std;int main(){ int size[10000]; int maxSize[10000]; int t; int n,m; cin >> t; for(int i=1; i<=t; i++) { cin >> n >> m; for(int k=0; k<n; k++) cin >> size[k]; for(int index=0; index<n; index++) { for(int j=m; j >=size[index]; j--) { maxSize[j] =max(maxSize[j],size[index]+maxSize[j-size[index]]); } } cout << maxSize[m] << endl; } system("pause"); return 0;}
- 1782. Knapsack(动态)
- 1782. Knapsack
- Sicily 1782. Knapsack
- sicily 1782.Knapsack
- Sicily 1782. Knapsack
- Sicily 1782. Knapsack
- 背包问题knapsack与动态编程
- 动态规划之背包问题(knapsack算法)
- 动态规划解背包问题/C++/Knapsack problem
- 动态规划解背包问题/C++/Knapsack problem
- Fibonacci Knapsack
- 动态规划 (Dynamic Programming) 之 背包问题合辑 (Knapsack, Subset Sum, Partition and change making problem )
- 动态规划 (Dynamic Programming) 之 背包问题合辑 (Knapsack, Subset Sum, Partition and change making problem )
- PERT && Knapsack && 匹配
- 背包问题knapsack
- Sicily 1782 Knapsack
- Knapsack problem poj 3264
- course 5 6 knapsack
- 1500. Prime Gap(用筛法预处理出素数数组,然后再处理)
- 1515.魔板C
- 1532. Binary Search
- ubuntu右键在当前位置打开终端
- 设计包含min函数的栈[数据结构]
- 1782. Knapsack(动态)
- 1813. M进制数问题(M进制先转成10进制,操作完后再转M进制)
- 1935. 二叉树重建(根据先序遍历和中序遍历重建二叉树并进行广度优先遍历)
- 结构体数组在ARM2440经典用法
- 1940. Ordering Tasks(拓扑排序,用set装住入度为0的点)
- 软件需求分析
- 组件连接/绑定中“->”、“<-”与“=”的区别
- BlackBerry10 Cascades之DockLayout
- bbed破坏数据文件