HDU 4501
2015-07-27 11:28
405 查看
超市里有n件他想要的商品。小明顺便对这n件商品打了分,表示商品的实际价值。小明发现身上带了v1的人民币,会员卡里面有v2的积分,而且他能免费拿k件。他想知道他最多能买多大价值的商品。
由于小明想要的商品实在太多了,他算了半天头都疼了也没算出来,所以请你这位聪明的程序员来帮帮他吧。
Sample Input
Sample Output
思路:将v1,v2,k都当作一种体积,每种物品只能取一次,求max.......
习惯性的在for中取最小值限制,因为这里导致wa了- -!,大概是因为在多个体积限制的背包里,当这个体积小于它的最小体积时,我们可以让它不去减它的最小体积,而是作为一种状态来传递其他体积的限制的值
由于小明想要的商品实在太多了,他算了半天头都疼了也没算出来,所以请你这位聪明的程序员来帮帮他吧。
Sample Input
5 1 6 1 4 3 3 0 3 2 2 3 3 3 3 2 1 0 2 4 2 5 0 0 1 0 4 4 1 3 3 4 3 4 4
Sample Output
12 4
思路:将v1,v2,k都当作一种体积,每种物品只能取一次,求max.......
习惯性的在for中取最小值限制,因为这里导致wa了- -!,大概是因为在多个体积限制的背包里,当这个体积小于它的最小体积时,我们可以让它不去减它的最小体积,而是作为一种状态来传递其他体积的限制的值
#include <stdio.h> #include <malloc.h> #include <string.h> #include <stdlib.h> #include <iostream> using namespace std; struct node { int x1,x2,x3; } per[105]; int dp[105][105][110]; int main() { int n,v1,v2,k; while(~scanf("%d%d%d%d",&n,&v1,&v2,&k)) { for(int i = 1; i <= n; i++) scanf("%d%d%d",&per[i].x1,&per[i].x2,&per[i].x3); memset(dp,0,sizeof(dp)); for(int i= 1; i <= n; i++) for(int j = v1; j >= 0; j--) for(int l = v2; l >= 0; l--) for(int q = k; q >= 0; q--) { int maxn= 0; if(j >= per[i].x1 && maxn<dp[j-per[i].x1][l][q]+per[i].x3 ) maxn = dp[j-per[i].x1][l][q]+per[i].x3; if(l >= per[i].x2 &&maxn< dp[j][l-per[i].x2][q]+per[i].x3) maxn = dp[j][l-per[i].x2][q]+per[i].x3; if(q> 0 && maxn < dp[j][l][q-1]+per[i].x3) maxn = dp[j][l][q-1]+per[i].x3; if(maxn > dp[j][l][q]) dp[j][l][q] = maxn; } printf("%d\n",dp[v1][v2][k]); } return 0; }
相关文章推荐
- 南阳 oj 兰州烧饼
- GDI/GDI+/D2D/D3D
- LAMP添加扩展模块
- 为什么匿名内部类访问当前方法的局部变量必须为final类型
- Code Forces 558 B. Amr and The Large Array(水~)
- Avoiding duplicate symbol errors during linking by removing classes from static libraries
- java中类型int转化为Byte
- 【进阶android】Volley源码分析——Volley的流程
- poj 2777 Count Color(线段树、状态压缩、位运算)
- 创业公司如何公平分配股权?
- windows bat脚本编写
- (面试题)统计数组中数字的个数
- windows bat脚本编写 2015-07-27 11:27 5人阅读 评论(0) 收藏
- lucene全文检索
- hdu 5311 Hidden String dp o(n)算法 深搜
- 《实体解析与信息质量》 - 3.1.2 SERF模型
- 南阳oj 语言入门 A+B paoblem 题目477 题目844
- 高仿qq‘一键下班’—让你的view‘黏’起来
- 极客班GeekBand - 互联网思维修炼 - 1
- 配置核查模块 开发总结 (1)