hdu 3033-分组背包
来源:互联网 发布:java throw 编辑:程序博客网 时间:2024/05/17 09:39
题目链接:点击打开链接
题解思路:dp[i][j]几种品牌的鞋,金币不超过j的最大价值
代码:
#include<iostream>#include<cstdio>#include<algorithm>#include<cstring>#include<queue>#define lson l,mid,rt<<1#define rson mid+1,r,rt<<1|1#define inf 0x3f3f3f3fusing namespace std;typedef long long ll;const int mx =1e4+10;int n,m,q,num[15][mx/10],val[15][mx/10];int dp[mx][15];int main(){ while(~scanf("%d%d%d",&n,&m,&q)){ int x,y,z; for(int i=1;i<=q;i++) num[i][0] = 0; for(int i = 0;i < n;i ++ ){ scanf("%d%d%d",&x,&y,&z); num[x][++num[x][0]] = y; val[x][num[x][0]] = z; } for(int i=0;i<=m;i++) for(int j=1;j<=q;j++) dp[i][j] = -inf; for(int i=1;i<=q;i++){ for(int j=1;j<=num[i][0];j++){ for(int k=m;k>=num[i][j];k--) dp[k][i] = max(dp[k][i],max(dp[k-num[i][j]][i]+val[i][j],dp[k-num[i][j]][i-1]+val[i][j])); } } if(dp[m][q]<0) puts("Impossible"); else printf("%d\n",dp[m][q]); } return 0;}
阅读全文
0 0
- HDU 3033 分组背包
- HDU 3033(分组背包)
- HDU 3033 分组背包
- hdu 3033 分组背包
- HDU 3033 分组背包
- HDU 3033 分组背包
- hdu 3033-分组背包
- hdu 3033(分组背包)
- hdu 3033 分组背包+01背包
- 06 分组背包 hdu 1712 3033
- hdu 3033 I love sneakers! 分组背包
- HDU 3033 I love sneakers! (分组背包)
- hdu 3033 I love sneakers!(分组背包)
- hdu 3033 I love sneakers! (分组背包)
- HDU 3033 I love sneakers! / 分组背包
- HDU 3033 I love sneakers! 分组背包
- HDU 3033 I love sneakers! 分组背包
- I love sneakers! hdu 3033 分组背包
- Android_播放本地或网络音乐
- 精通iOS开发第7版pdf+源码
- isreadonly\isenable\visibility三者区别
- BRVAH官方使用指南
- POP动画之让分享界面动起来
- hdu 3033-分组背包
- 怎样设计一个判断流程
- Select下拉框onchange事件获取option的value值
- Spring批量更新
- php原生PHPExcel插件导表(附表格合并,加粗居中及加边框换行操作)
- mysql 索引
- 51Nod-1589-移数博弈
- 通过sql语句limit标签生成java分页
- ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)