博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
运动鞋
阅读量:5086 次
发布时间:2019-06-13

本文共 2061 字,大约阅读时间需要 6 分钟。

问题 G: 运动鞋

时间限制: 1 Sec  内存限制: 128 MB
提交: 40  解决: 19
[][][]

题目描述

经过几个月的艰苦学习,Iserlohn终于赢得了全额奖学金。作为一个运动鞋狂热爱好者,他决定用所有的钱在运动鞋商店进行消费。 

有一些球鞋Iserlohn要收集,如Air Jordan 和 Nike Pro。而每个品牌已发布各种产品。由于,Iserlohn绝对是一个运动鞋狂热,他意欲购买每个品牌至少有一个产品。 
虽然每个产品的都有相应的定价,但是在Iserlohn心中也有一个价值倾向。由于他的钱有限,他希望最大限度地提高鞋的总价值。显然,作为一个收藏家,他不会购买相同产品的两次。 
现在,Iserlohn需要你帮他找到他的答案,即在至少购买每个品牌的一个产品的情况下,使得所有运动鞋在他心中的总价值最高。 

 

输入

第1行包含三个整数N,M,K(1<=N<=100,1 <= M<= 10000,1<=K<=10)分别表示共有N种产品,M的钱和K种品牌。 

接下来N行,每行三个整数a,b,c(1<=a<=k, 0<=b,c<100000)分别表示该商品属于哪种品牌,商品标价以及他心目中的价格。 

 

输出

只有一个正整数,输出他心中的最大价值,如果不能满足他的要求,输出“Impossible”

 

样例输入

5 10000 3 1 4 6 2 5 7 3 4 99 1 55 77 2 44 66

样例输出

255
这是一道背包DP的题目,但与一般背包不同的地方在于,有个要求限制,每一个牌子的鞋子至少买一双,这样就是转移时必须上一个牌子必须买过不为初始状态的一个值,才可以转移过来。
#include
#include
#include
#include
using namespace std;const int MAXM=10007;const int MAXN=107;const int MAXK=17;int n,m,k,dp[MAXK][MAXM],c[MAXK][MAXN],w[MAXK][MAXN],num[MAXK];void init();int main(){ int x,y,z; while (~scanf("%d%d%d",&n,&m,&k)) { init(); for (int i=1;i<=n;i++) { scanf("%d%d%d",&x,&y,&z); num[x]++; c[x][num[x]]=y; w[x][num[x]]=z; } for (int i=1;i<=k;i++) { for (int j=1;j<=num[i];j++) for (int k=m;k>=c[i][j];k--) { if (dp[i][k-c[i][j]]!=-1) { dp[i][k]=max(dp[i][k],dp[i][k-c[i][j]]+w[i][j]); } if (dp[i-1][k-c[i][j]]!=-1) { dp[i][k]=max(dp[i][k],dp[i-1][k-c[i][j]]+w[i][j]); } } } if (dp[k][m]!=-1) printf("%d\n",dp[k][m]); else printf("Impossible\n"); }}void init(){ memset(dp,-1,sizeof(dp)); memset(dp[0],0,sizeof(dp[0])); memset(c,0,sizeof(c)); memset(w,0,sizeof(w)); memset(num,0,sizeof(num));}

 

转载于:https://www.cnblogs.com/fengzhiyuan/p/6879699.html

你可能感兴趣的文章
深入理解JavaScript Hijacking原理
查看>>
StarWind的安装配置
查看>>
计划安装SQL Server2012需求详细
查看>>
第一天:学会如何在pycharm上编写第一条robotframework用例
查看>>
python selenium firefox 添加cookie add_cookie
查看>>
动画特效三:搜索动画
查看>>
通信协议中的转义符
查看>>
SQL 递归使用
查看>>
文本分析实例---QQ聊天记录分析
查看>>
OSX: bash的更新
查看>>
Java 并发工具包——ExecutorService常用线程池
查看>>
知识点归列
查看>>
通过web代理进行跨域访问,http请求返回超时的问题定位
查看>>
xml bug
查看>>
可以嵌入程序的chrome
查看>>
开源的截图工具
查看>>
Eclipse4.7安装SWT
查看>>
POJ 1840 Eqs(哈希表)
查看>>
算法题目
查看>>
20170728 Celery项目 后台处理SQL SERVER的一个异常
查看>>