1295:装箱问题

简介: 1295:装箱问题

时间限制: 1000 ms         内存限制: 65536 KB

【题目描述】

有一个箱子容量为V(正整数,0≤v≤20000),同时有n个物品(0< n ≤30),每个物品有一个体积(正整数)。

要求n个物品中,任取若干个装入箱内,使箱子的剩余空间为最小。

【输入】

第一行是一个整数V,表示箱子容量。

第二行是一个整数n,表示物品数。

接下来n行,每行一个正整数(不超过10000),分别表示这n个物品的各自体积。

【输出】

一个整数,表示箱子剩余空间。

【输入样例】

24

6

8

3

12

7

9

7

【输出样例】

0

1. #include <iostream>
2. #include <cstdio>
3. #include <cstring>
4. #include <algorithm>
5. using namespace std;
6. int a[10005],f[20005];
7. int v,n;
8. int main(int argc, char *argv[])
9. {
10.   scanf("%d %d",&v,&n);
11.   for(int i=1;i<=n;i++){
12.     scanf("%d",&a[i]);
13.     for(int j=v;j>=a[i];j--)
14.       f[j]=max(f[j],f[j-a[i]]+a[i]);
15.   }
16.   printf("%d\n",v-f[v]);
17.   return 0;
18. }


相关文章
|
7月前
|
算法 安全 Java
非启发式算法——中国剩余定理
非启发式算法——中国剩余定理
125 0
|
6月前
每日练习之数学——砝码和天平
每日练习之数学——砝码和天平
29 3
|
6月前
|
算法 Python 容器
基于最低水平面的三维装箱问题的启发式算法
基于最低水平面的三维装箱问题的启发式算法
74 0
|
7月前
|
调度
乘积线性化问题探析
乘积线性化问题探析
|
7月前
装箱问题(背包问题)
装箱问题(背包问题)
65 0
|
人工智能 算法
算法提高:组合数学| 容斥原理常见应用
容斥原理常见的问题如下。 (1) 篮球、羽毛球、网球三种运动,至少会一种的有22人,会篮球的有15人,会羽毛球的有17人,会网球的有12人,既会篮球又会羽毛球的有11人,既会羽毛球又会网球的有7人,既会篮球又会网球的有9人,那么三种运动都会的有多少人? (2) 《西游记》《三国演义》《红楼梦》三大名著,至少读过其中一本的有20人,读过《西游记》的有10人,读过《三国演义》的有12人,读过《红楼梦》的有15人,读过《西游记》《三国演义》的有8人,读过《三国演义》《红楼梦》的有9人,读过《西游记》《红楼梦》的有7人。问三本书全都读过的有多少人?
170 0
算法提高:组合数学| 容斥原理常见应用
|
机器学习/深度学习 传感器 算法
基于有限差分法和追赶法解对角矩阵解二维热传导问题附matlab代码
基于有限差分法和追赶法解对角矩阵解二维热传导问题附matlab代码
|
机器学习/深度学习
排列组合、古典概型、几何概型与伯努利概型
排列组合、古典概型、几何概型与伯努利概型
|
机器学习/深度学习 传感器 算法
【装箱问题】基于遗传算法求解三维装箱问题附matlab代码
【装箱问题】基于遗传算法求解三维装箱问题附matlab代码