hdu - 2660 Accepted Necklace (二维费用的背包问题)
2015-06-01 20:49
435 查看
http://acm.hdu.edu.cn/showproblem.php?pid=2660
f[v][u]=max(f[v][u],f[v-1][u-w[i]]+v[i];
注意中间一层必须逆序循环.
f[v][u]=max(f[v][u],f[v-1][u-w[i]]+v[i];
注意中间一层必须逆序循环.
#include <cstdio> #include <cstring> #include <algorithm> using namespace std; int dp[21][1001]; int v[1001],w[1001]; int main() { //freopen("a.txt","r",stdin); int t,n,m,k; scanf("%d",&t); while(t--) { scanf("%d%d",&n,&k); for(int i=1;i<=n;i++) { scanf("%d%d",&v[i],&w[i]); } scanf("%d",&m); memset(dp,0,sizeof(dp)); for(int i=1;i<=n;i++) { for(int l=k;l>=1;l--) for(int j=m;j>=w[i];j--) dp[l][j]=max(dp[l][j],dp[l-1][j-w[i]]+v[i]); } printf("%d\n",dp[k][m]); } return 0; }
相关文章推荐
- autotools的基本使用
- UISearchDisplayController搜索(iOS8前)
- UVA 12325 - Zombie's Treasure Chest
- dfs--根节点
- Summary Day27
- 《javascript高级程序设计》 touch事件的一个小错误
- IO流概念及分类
- 在Mac系统上安装Tomcat
- 使用java检测网络连接状况
- 使用java检测网络连接状况
- jasig CAS实现单点登录(数据库认证)
- MySQL 配合开发日常
- ubuntu安装
- mysql 存在该记录则更新,不存在则插入记录的sql
- iOS之画饼图
- [Python基础]006.IO操作
- 第二次冲刺(6)
- 打开/保存文件对话框:CFileDialog
- Hadoop之——分布式集群安装过程
- 提交application/x-www-form-urlencoded类型数据