题目描述

有一个箱子容量为V(正整数0≤V≤20000),同时有n个物品(0

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

输入输出格式

输入格式:

1个整数,表示箱子容量

1个整数,表示有n个物品

接下来n行,分别表示这n个物品的各自体积

输出格式:

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

输入输出样例

输入样例#1:

24

6

8

3

12

7

9

7

输出样例#1:

0

这里先介绍最经典的动态规划

下面还有一个简化版的

import java.util.Scanner;

public class zhuangxiangwenti {

public static void main(String[] args) {

Scanner sc =new Scanner(System.in);

int v = sc.nextInt();

int n = sc.nextInt();

int [] num = new int [n+1];

for (int i = 1; i < num.length; i++) {

num[i]=sc.nextInt();

}

int [] [] dp = new int[n+1][v+1];

int min = Integer.MAX_VALUE;

for (int i = 1; i < n+1; i++) {

for (int j = 1; j

if(j>=num[i]){

dp[i][j]=Math.max(dp[i-1][j],dp[i-1][j-num[i]]+num[i]);

}

else{

dp[i][j]=dp[i-1][j];

}

}

min = Math.min(min, v-dp[i][v]);

}

System.out.println(min);

}

}

import java.util.Scanner;

public class zhuangxiangwenti2 {

public static void main(String[] args) {

Scanner sc = new Scanner(System.in);

int w = sc.nextInt();

int n = sc.nextInt();

int[] ff = new int[n];

for (int i = 0; i < ff.length; i++) {

ff[i] = sc.nextInt();

}

int[] t = new int[w + 1];

for (int i = 0; i < n; i++) {

for (int j = w; j >= 0; j--) {

if (j >= ff[i]) {

t[j] = Math.max(t[j], t[j - ff[i]] + ff[i]);

}

}

}

System.out.println(w - t[w]);

}

}

联机装箱问题 java_Java实现 洛谷 P1049 装箱问题相关推荐

  1. 洛谷 P1049 装箱问题(01背包)

    一道水题,但看到好久没有发博客了,再一看是一道noip普及组t4,就做了. 题目链接 https://www.luogu.org/problemnew/show/P1049 解题思路 一道裸的01背包 ...

  2. 动态规划求解装箱问题(洛谷P1049题题解,Java语言描述)

    题目要求 P1049题目链接 分析 这种题不能贪心,大家都懂的,应该使用DP. 比如容量为7,有三个物品体积是1,2,5,你要是先装小的,就只能装3,剩下4,但实际上可以装的只剩一个. 如果容量为10 ...

  3. 洛谷P1049: 装箱问题

    https://www.luogu.org/problemnew/show/P1049 题目描述 有一个箱子容量为V(正整数,0≤V≤20000),同时有n个物品(0<n≤30,每个物品有一个体 ...

  4. 装箱问题(洛谷-P1049)

    题目描述 有一个箱子容量为 V (正整数, 0≤V≤20000 ),同时有 n 个物品( 0<n≤30 ,每个物品有一个体积(正整数) 要求 n 个物品中,任取若干个装入箱内,使箱子的剩余空间为 ...

  5. P1049装箱问题(背包,变形)

    洛谷P1049 法一 #include<iostream> #include<cstdio> #include<cstring> #include<algor ...

  6. 洛谷 深基 第4部分 基础数学与数论(19-21课)

    洛谷 深基 第4部分 基础数学与数论  第19章 位运算与进制转换 P1143 进制转换 https://www.luogu.com.cn/problem/P1143 洛谷P1143 进制转换的Pyt ...

  7. 洛谷 - 试炼场(全部题目备份)

    整理的算法模板合集: ACM模板 目录 1.新手村 1 - 1 洛谷的第一个任务 1 - 2 顺序与分支 1 - 3 循环!循环!循环! 1 - 4 数组 1 - 5 简单字符串 1 - 6 过程函数 ...

  8. 洛谷-题解 P2672 【推销员】

    独门思路!链表加优先队列! 这题一望,贪心是跑不掉了,但是我贪心并不好,所以想到了一个复杂一些但思路更保稳的做法 思路: 1 因为是离线操作,所以我们可以倒着求,先求x=n的情况,因为那样直接就知道了 ...

  9. 洛谷 P1142 轰炸

    洛谷 P1142 轰炸 题目描述 "我该怎么办?"飞行员klux向你求助. 事实上,klux面对的是一个很简单的问题,但是他实在太菜了. klux要想轰炸某个区域内的一些地方,它们 ...

最新文章

  1. python的业务场景_python| Binlog务应用场景
  2. 什么是野指针和内存泄露?如何避免野指针
  3. Redis DeskTop Manager 使用教程
  4. 华为机试——提取不重复的整数
  5. 数据分析项目实战:大型商场销售预测(带你挤进比赛前100名)
  6. python基础--面向对象初始
  7. win7 兼容 因特尔十代_高配主板想用win7咋办 Intel10代CPU配上驱动总裁玩转win7
  8. 计算机打印怎样添加PDF格式,电脑添加PDF虚拟打印机怎么将文件打印成PDF
  9. H.265 SAO技术
  10. 一人有限责任公司章程范本
  11. 强烈推荐:创业起步 八种赢利模式
  12. C盘系统文件提示损坏怎么办?系统文件损坏怎么修复
  13. FFT 采样频率和采样点数的选取
  14. linux 系统编程--标准IO-缓存
  15. 2016理数全国卷 T21
  16. 计算机图片颜色是红色怎么办,电脑变色是怎么回事?(有图片)
  17. 近期数学杯赛汇总,哪个含金量高?
  18. m4a怎么转换成mp3
  19. graphviz基本使用及常见问题
  20. 月均200wUP主活跃的B站涨粉密码是什么?

热门文章

  1. TP-Link无线网卡一对多的桥接
  2. starting mysql. success!_启动mysql报错解决问题过程
  3. Java黑皮书课后题第7章:7.8(求数组的平均值)使用下面的方法头编写两个重载的方法,返回数组的平均数。编写一个测试程序,提示用户输入10个double型值,然后调用这个方法显示平均值
  4. oracle里有limit怎么用,[ORACLE]ORACLE 实现mysql中的limit 功能
  5. 克鲁斯卡尔(Kruskal)算法求最小生成树
  6. cocos creator基础-创建WX开放域遇到的问题
  7. 【poj1742】 Coins
  8. 安装laravel5.1项目命令
  9. thinkphp如果表名有下划线需要用Model
  10. Eclipse Mylyn成为顶级项目