首页 > TAG信息列表 > P1049
P1049 [NOIP2001 普及组] 装箱问题 题解
用到01背包+递归+深搜 #include <bits/stdc++.h> using namespace std; int ans = INT_MAX,v, n, a[10005], l;//设answer(ans)大点,以防剩下的都>answer void zx(int dep, int r) { if(r < 0) { return; } if(dep > n)//都选完了 { ans = min(ans, r);//如果当前结果小于目洛谷 P1049 装箱问题
这个题用贪心做肯定不行的,因为贪心得到的只是局部最优解,而这个题需要的是全局最优解,所以就用到了动态规划。 用动态规划一定要找到这个题的状态转移方程。每一个物体,都只会有两种情况:装入箱子 和 不装入箱子,所以,定义两个数组,第一个数组s[]用来存储当容量为某某时,能装的最大洛谷P1049装箱问题(01背包)
题目描述 有一个箱子容量为VVV(正整数,0≤V≤200000 \le V \le 200000≤V≤20000),同时有nnn个物品(0<n≤300<n \le 300<n≤30,每个物品有一个体积(正整数)。 要求nnn个物品中,任取若干个装入箱内,使箱子的剩余空间为最小。 输入格式 111个整数,表示箱子容量 111个整数,表示有nnn个物品 接洛谷P1049 装箱问题(01背包变形)
题意:给你一个箱子体积为V,有n个物品,每个物品有一个体积v[i],要在求n个物品中,任取若干个装入箱内,使箱子的剩余空间为最小。 每个物品同样只能取一次,01背包问题变形。 #include<iostream> #include<algorithm> #include<cstring> #include<cstdio> using namespace std; const洛谷 P1049 装箱问题(01背包)
一道水题,但看到好久没有发博客了,再一看是一道noip普及组t4,就做了。 题目链接 https://www.luogu.org/problemnew/show/P1049 解题思路 一道裸的01背包,注意价值和重量是一个东西,且最后输出剩余的体积。 随随便便二维就AC了,懒得写一维。 AC代码 1 #include<iostream> 2 #i洛谷试炼场P1049动态规划,装箱问题)
题目连接https://www.luogu.org/problemnew/show/P1049 解题思路:f[j]表示当总容量为j时,当前可以装箱的最大值。 #include<bits/stdc++.h> using namespace std; int f[20009],w[35]; int main() { //freopen("t.txt","r",stdin); int v,n; scanf("%d%d",&v洛谷 P1049 装箱问题
嗯... 这道装箱问题其实就是一道典型的动态规划题目(有的DL说它是01背包问题还不太贴切 但无论如何,它肯定 是一道动归题... 众所周知,动归题的难点在于推出动态转移方程.... 好了,在看题之前先说这些,下面先看一下题... 题目描述 有一个箱子容量为VVV(正整数,0≤V≤20000