51NOD 2072 装箱问题 背包问题 01 背包 DP 动态规划
有一个箱子容量为 V(正整数,0<=V<=20000),同时有 n 个物品(0<n<=30),每个物品有一个体积(正整数)。
现在在 n 个物品中,任取若干个装入箱内,使得箱子的剩余空间为最小。
收起
输入
输入:一个整数v,表示箱子容量 一个整数n,表示有n个物品 接下来 n 个整数,分别表示这 n 个物品的各自体积
输出
输出:一个整数,表示箱子最小的剩余空间
输入样例
24 6 8 3 12 7 9 7
输出样例
0
#include<iostream>
#include<queue>
#include<algorithm>
#include<set>
#include<cmath>
#include<vector>
#include<map>
#include<stack>
#include<bitset>
#include<cstdio>
#include<cstring>
//---------------------------------Sexy operation--------------------------//#define cini(n) scanf("%d",&n)
#define cinl(n) scanf("%lld",&n)
#define cinc(n) scanf("%c",&n)
#define cins(s) scanf("%s",s)
#define coui(n) printf("%d",n)
#define couc(n) printf("%c",n)
#define coul(n) printf("%lld",n)
#define speed ios_base::sync_with_stdio(0)
#define file freopen("input.txt","r",stdin);freopen("output.txt","w",stdout)
//-------------------------------Actual option------------------------------//#define Swap(a,b) a^=b^=a^=b
#define Max(a,b) a>b?a:b
#define Min(a,b) a<b?a:b
#define mem(n,x) memset(n,x,sizeof(n))
#define mp(a,b) make_pair(a,b)
//--------------------------------constant----------------------------------//#define INF 0x3f3f3f3f
#define maxn 100005
#define esp 1e-9
using namespace std;
typedef long long ll;
typedef pair<int,int> PII;
//------------------------------Dividing Line--------------------------------//
int v,n;
int a[maxn];
int dp[maxn];
int main()
{cini(v),cini(n);for(int i=0; i<n; i++)cini(a[i]);for(int i=0; i<n; i++){for(int j=v;j>=a[i];j--){dp[j]=max(dp[j],dp[j-a[i]]+a[i]);}}cout<<v-dp[v]<<endl;
}
51NOD 2072 装箱问题 背包问题 01 背包 DP 动态规划相关推荐
- 动态规划之背包问题——01背包
算法相关数据结构总结: 序号 数据结构 文章 1 动态规划 动态规划之背包问题--01背包 动态规划之背包问题--完全背包 动态规划之打家劫舍系列问题 动态规划之股票买卖系列问题 动态规划之子序列问题 ...
- 背包问题——01背包
背包问题--01背包 01背包作为动态规划(dynamic programing)中最基础的问题,需要我们彻底理解其中的原理,为以后解决更难的动态规划问题打下良好的基础. 这里拟定一个01背包问题: ...
- C++ 背包问题——01背包
由于编辑器原因,01背包文章搬家了,想看到更好的01背包问题题解,请点击链接: C++背包问题--01背包_小天狼星_布莱克的博客-CSDN博客
- 动态规划之背包问题---01背包---完全背包---多重背包
本篇博客是基于Carl大佬的刷题笔记 (代码随想录) 进行总结的 另外加入了我自己的一些整理,特此记录,以防遗忘 几种在面试中常见的背包,其关系如下: 通过这个图,可以很清晰分清这几种常见背包之间的关 ...
- 动态规划之背包问题 01背包
什么是01背包? 有n件物品和一个最多能背重量为w 的背包.第i件物品的重量是weight[i],得到的价值是value[i] .每件物品只能用一次,求解将哪些物品装入背包里物品价值总和最大. 首先, ...
- 背包问题——01背包/完全背包/多重背包
背包问题是典型的动态规划问题,本文将对典型的背包问题进行总结. 0-1背包问题 有 N 件物品和一个容量是 V 的背包.每件物品只能使用一次. 第 i 件物品的体积是 vi,价值是 wi. 求解将哪些 ...
- 经典背包问题 01背包+完全背包+多重背包
01 背包 有n 种不同的物品,每个物品有两个属性,size 体积,value 价值,现在给一个容量为 w 的背包,问最多可带走多少价值的物品. int f[w+1]; //f[x] 表示背包容量为x ...
- 饭卡 01背包 DP
电子科大本部食堂的饭卡有一种很诡异的设计,即在购买之前判断余额.如果购买一个商品之前,卡上的剩余金额大于或等于5元,就一定可以购买成功(即使购买后卡上余额为负),否则无法购买(即使金额足够).所以大家 ...
- L3-001. 凑零钱-PAT团体程序设计天梯赛GPLT(01背包,动态规划)
韩梅梅喜欢满宇宙到处逛街.现在她逛到了一家火星店里,发现这家店有个特别的规矩:你可以用任何星球的硬币付钱,但是绝不找零,当然也不能欠债.韩梅梅手边有104枚来自各个星球的硬币,需要请你帮她盘算一下,是 ...
最新文章
- ASP.NET2.0+SQL Server2005构建多层应用 [转]
- 全云端万能小程序_万能门店全云端独立版微信小程序源码V4.0.10,全五端源码下载...
- NYOJ 716 River Crossing(动态规划)
- 更改IE浏览器默认的源文件编辑器
- 父页面与子ifream传值,父页面获取子页面document元素与方法
- 全面介绍Windows内存管理机制及C++内存分配实例(一):进程空间
- 单例模式的练习-如何正确构建
- formidable上传文件时出错EXDEV, rename.....
- 【原创】ObjectARX中的代理对象
- input表单的type属性详解,不同type不同属性之间区别
- java arraylist对象_Java中ArrayList的对象引用问题
- 从零教新手开始学做游戏辅助系列(一)
- 抖音前期定位养号的8点具体建议
- 移动端h5页面监听手机横屏
- 动画设计基础(三点一节)-3d max2014 裙摆(飘带插件)
- 高级驾驶辅助系统各子系统一览
- echarts 图例翻页+图例自定义样式
- Hive in、exists 和 left semi join
- 基于STM32的温度控制系统
- 参考文献标号字体_论文参考文献文字格式
热门文章
- Java基础复习-八大基本数据类型-内存模型-基本算法-网络编程
- 在浏览器中进行深度学习:TensorFlow.js (十二)异常检测算法
- python自动化测试——测试报告以附件形式发送邮件
- 批量设置 style
- 关于996,我想说的 - 人在高潮享受成就,人在低潮享受人生
- Postgres客户端编码问题
- SSL *** 安全解决方案
- 我的Android进阶之旅------gt;解决Jackson等第三方转换Json的开发包在开启混淆后转换的实体类数据都是null的bug...
- makefile:2: *** 遗漏分隔符 。 停止
- [Android]发布Sqlite数据库