01 背包问题 cafeteria HPUOJ
来源:互联网 发布:建筑标准层面积算法 编辑:程序博客网 时间:2024/05/09 07:57
问题 C: Cafeteria
时间限制: 1 Sec 内存限制: 128 MB提交: 22 解决: 11
题目描述
Nanae把饥肠辘辘的josnch带去一家自助餐厅,面对面前眼花缭乱的美味josnch呆住了。
假设有N种食物,每种食物只有一样,而且每种食物有对应的体积Wi (1 <= Wi <= 400),食用每一种食物都能增加对应的愉悦值Di(1 <= Di <= 100).
现在已知josnch肚子的容量为M(1 <= M <= 12,880),现在假设josnch足够聪明,请问他如何选择能在可接受的范围内达到愉悦值最大。
输入
第一行输入两个整数,N和M。
第二行到第N+1行输入每行两个整数,Wi 和 Di ,分别代表 第i件物品的体积和所能带来的愉悦值。
输出
输出一个整数,也就是在最佳选择下的愉悦值。
样例输入
4 61 42 63 122 7
样例输出
23
思路:01背包问题模板题。。。按模板水过;开始还以为是贪心。。。。。(果然很菜我qaq)
下面附上代码:
#include<cstdio>#define v 20000#include<cstring>int max(int a,int b){return a>b?a:b;}int main(){int n,m;int f[v],weight[20000],value[20000];while(scanf("%d %d",&n,&m)!=EOF){memset(f,0,sizeof(f));memset(weight,0,sizeof(weight));memset(value,0,sizeof(value));for(int i=1;i<=n;i++){scanf("%d %d",&weight[i],&value[i]);}for(int i=1;i<=n;i++){for(int j=m;j>=1;j--){if(weight[i]<=j){f[j]=max(f[j],f[j-weight[i]]+value[i]);}}}printf("%d\n",f[m]);}return 0; }
0 0
- 01 背包问题 cafeteria HPUOJ
- 问题 C: Cafeteria(水题 01背包)
- [HPU] Cafeteria [dp][01背包]
- hpu 1267 Cafeteria (01背包)
- 问题 C: Cafeteria
- 【HPU 1267 Cafeteria】+ 01dp
- 【hpuoj】语文问题
- 【hpuoj】数学问题
- 【hpuoj】英语问题
- 【hpuoj】模电问题
- 【hpuoj】防ak问题
- 【hpuoj】OY问题
- hpuoj 绝对值问题
- hpuoj【1044】人民币问题
- 背包问题---01背包
- hpuoj 1210: OY问题 [搜索]
- **【HPUOJ】
- DP 背包问题 01背包
- Android 通过广播获取网络连接的情况
- 追MM与Java的23种设计模式
- 1299 切水果
- 什么时候该用NoSQL?
- JavaScript 面试中常见算法问题详解
- 01 背包问题 cafeteria HPUOJ
- 20170222找女朋友之路思考总结
- 栈和堆
- Mongodb启动命令mongod参数说明
- 如何利用自己的电脑做服务器发布tomcat的WEB项目供外网访问
- Android FAB应用解析
- App应用之提交到各大市场渠道
- Modernizr——为HTML5和CSS3而生!
- JSP页面中使用JSTL标签出现无法解析问题解决办法