(ssl 1236)逃亡的准备
2017-12-16 09:53
169 查看
Description 在《Harry Potter and the Deathly Hallows》中,Harry Potter他们一起逃亡,现在有许多的东西要放到赫敏的包里面,但是包的大小有限,所以我们只能够在里面放入非常重要的物品,现在给出该种物品的数量、体积、价值的数值,希望你能够算出怎样能使背包的价值最大的组合方式。
分析:既然是数量(多重背包),考虑到数量最大值(5000),二进制优化是可以的。
分析:既然是数量(多重背包),考虑到数量最大值(5000),二进制优化是可以的。
#include <cstdio> #include <algorithm> using namespace std; int n,m,n1; int v[50001],w[50001],f[501]; int main(){ scanf("%d%d",&n,&m); for (int i=1;i<=n;i++){ int x,y,s,t=1; scanf("%d%d%d",&s,&x,&y); while (s>=t){ //二进制优化(例:9分成1,2,4,2,可以表示1~9的任何数) v[++n1]=x*t; w[n1]=y*t; s-=t; t<<=1; } v[++n1]=x*s; w[n1]=y*s; } for (int i=1;i<=n1;i++) for (int j=m;j>=v[i];j--) //01背包 f[j]=max(f[j],f[j-v[i]]+w[i]); printf("%d",f[m]); return 0; }
相关文章推荐
- ssl1236-逃亡准备【dp之多重背包】
- 题目:逃亡的准备
- 逃亡的准备(hallows)
- Linux(Centos)之安装Nginx及注意事项 阅读目录 1.Nginx的简单说明 2.准备工作 3.安装SSL功能需要openssl库以及gzip模块需要的zlib库 4.安装 rewri
- 逃亡的准备(hallows.pas/c/cpp)
- 逃亡的准备(动态规划)
- 【9918】逃亡的准备
- RNQOJ 98 逃亡的准备
- SSL P1236 逃亡的准备 题目
- 逃亡的准备(动态规划)
- rnqoj-98-逃亡的准备-背包
- SSL P1236 逃亡的准备
- 【动态规划】逃亡的准备rqnoj98
- 逃亡的准备
- 逃亡的准备(多重背包+二进制优化)
- 【动态规划\单调队列】逃亡的准备
- 逃亡的准备
- 【动态规划】【RQ98】逃亡的准备
- 逃亡的准备
- 逃亡的准备