P1049 装箱问题
Posted alex-leaves
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了P1049 装箱问题相关的知识,希望对你有一定的参考价值。
题目描述
有一个箱子容量为 VVV (正整数, 0≤V≤200000 le V le 200000≤V≤20000 ),同时有 nnn 个物品( 0<n≤300<n le 300<n≤30 ,每个物品有一个体积(正整数)。
要求 nnn 个物品中,任取若干个装入箱内,使箱子的剩余空间为最小。
输入输出格式
输入格式:
111 个整数,表示箱子容量
111 个整数,表示有 nnn 个物品
接下来 nnn 行,分别表示这 nnn 个物品的各自体积
输出格式:
111 个整数,表示箱子剩余空间。
输入输出样例
说明
NOIp2001普及组 第4题
非常简单的题目,刷题解时发现bitset这个神奇的玩意,真心6666。
看一下某大佬的AC代码:
#include<bits/stdc++.h>
using namespace std;
const int N=20505;
bitset<N> a;
int n,v;
int main()
{
scanf("%d%d",&v,&n);
int x;
for(int i=1;i<=n;i++)
{
scanf("%d",&x);
a|=(a<<x);
a[x-1]=1;
}
for(int i=v-1;i>=0;i--)
if(a[i]){
printf("%d",v-i-1);break;
}
return 0;
}
以上是关于P1049 装箱问题的主要内容,如果未能解决你的问题,请参考以下文章