【动态规划】poj3624 Charm Bracelet
来源:互联网 发布:微信淘宝客系统 编辑:程序博客网 时间:2024/05/28 16:20
传送门:戳我
新生赛被怒草了……不爽……到大神博客翻几道水题刷掉
题目大意:N件物品放入容量为M的包中,每个物品有体积和价值,求能装下的最大值
思路:裸的01背包,f[i][j]表示前i个物品放j的空间所获得的最大价值,转移为f[i][j]=max{f[i-1][j],f[i-1][j-w[i]]+v[i]},注意一下这里N*M较大,开滚动数组防止MLE
#include <iostream>#include <cstring>#include <cstdio>using namespace std;int n,m,w[3500],v[3500],f[2][12880+10];int min(int a,int b){ if (a>b) return b; return a;}int main(){ while (cin>>n>>m){ for (int i=1;i<=n;i++){ cin>>w[i]>>v[i]; } memset(f,0,sizeof(f)); int maxn=0; for (int i=1;i<=n;i++) for (int j=1;j<=m;j++){ f[i%2][j]=f[(i-1)%2][j]; if (j>=w[i] && f[(i-1)%2][j-w[i]]+v[i]>=f[i%2][j]) f[i%2][j]=f[(i-1)%2][j-w[i]]+v[i]; if (f[i%2][j]>maxn) maxn=f[i%2][j]; } cout<<maxn<<endl; } return 0;}
0 0
- 【动态规划】poj3624 Charm Bracelet
- poj3624 Charm Bracelet
- poj3624 Charm Bracelet
- poj3624-Charm Bracelet
- POJ3624 Charm Bracelet
- poj3624-Charm Bracelet
- poj3624 Charm Bracelet
- POJ3624 Charm Bracelet
- poj3624 Charm Bracelet
- POJ3624 Charm Bracelet
- poj3624 Charm Bracelet
- poj3624 Charm Bracelet
- poj3624 Charm Bracelet
- POJ3624 Charm Bracelet
- poj3624 Charm Bracelet
- POJ3624 Charm Bracelet
- POJ3624 Charm Bracelet
- POJ3624 Charm Bracelet
- IOS webDav配置
- [设计模式] 原型模式(Prototype)
- 小小知识
- CodeForces 425C Sereja and Two Sequences
- JavaScript的一些题目
- 【动态规划】poj3624 Charm Bracelet
- struts2.x多文件上传(使用注解)
- B树、B-树、B+树、B*树
- textview添加selector实现button的点击效果
- HEX文件学习心得
- Sublime Text
- java redis 分布式(切片)非分布式(非切片)连接
- php——学习笔记,逻辑运算符
- Poj 1974 The Happy Worm(sort结构体二级排序)