摘要

题目链接 难度等级 完成状态 完成分数 最后编辑时间 失误原因(初次提交分数)
装箱问题 ★☆☆☆☆ 答案正确 100 2014/11/04 19:48:55 算法错误(0)

题意

经典问题,又称0-1背包问题。

题解

最经典的DP了没什么好说的。第一次一手滑居然交成完全背包。

代码

1014.cpp代码已折叠
展开折叠内容
显示/移除行号
  1. #include<cstdio>
  2. #include<algorithm>
  3. int v,n,vi[50],Ans;
  4. bool u[30000]={1};
  5. int main()
  6. {
  7. scanf("%d%d",&v,&n);
  8. for(int i=1;i<=n;++i)
  9. scanf("%d",&vi[i]);
  10. for(int i=1;i<=n;++i)
  11. for(int j=v;j>=vi[i];--j)
  12. {
  13. if(u[j-vi[i]]&&!u[j])
  14. {
  15. u[j]=1;
  16. Ans=std::max(Ans,j);
  17. }
  18. }
  19. printf("%d",v-Ans);
  20. return 0;
  21. }

著作权声明[编辑]

关于[编辑]