急!灾区的食物依然短缺!(找不到原题出处只能这样了.....)
急!灾区的食物依然短缺!
为了挽救灾区同胞的生命,心系灾区同胞的你准备自己采购一些粮食支援灾区,现在假设你一共有资金n元,而市场有m种大米,每种大米都是袋装产品,其价格不等,并且只能整袋购买。
请问:你用有限的资金最多能采购多少公斤粮食呢?
后记:
人生是一个充满了变数的生命过程,天灾、人祸、病痛是我们生命历程中不可预知的威胁。
月有阴晴圆缺,人有旦夕祸福,未来对于我们而言是一个未知数。那么,我们要做的就应该是珍惜现在,感恩生活——
感谢父母,他们给予我们生命,抚养我们成人;
感谢老师,他们授给我们知识,教我们做人
感谢朋友,他们让我们感受到世界的温暖;
感谢对手,他们令我们不断进取、努力。
同样,我们也要感谢痛苦与艰辛带给我们的财富~
Input
输入数据首先包含一个正整数C,表示有C组测试用例,每组测试用例的第一行是两个整数n和m(1<=n<=100, 1<=m<=100),分别表示经费的金额和大米的种类,然后是m行数据,每行包含3个数p,h和c(1<=p<=20,1<=h<=200,1<=c<=20),分别表示每袋的价格、每袋的重量以及对应种类大米的袋数。
Output
对于每组测试数据,请输出能够购买大米的最多重量,你可以假设经费买不光所有的大米,并且经费你可以不用完。每个实例的输出占一行。
Sample Input
1
8 2
2 100 4
4 100 2
Sample Output
400
思路:典型的多重背包,二进制思路转化为01背包就解决了。
源码:
#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
int Max(int a,int b){return a>b?a:b;
}
struct Node{int w;int v;
}node[2010];
int dp[1010];
int main(){int T;cin>>T;while (T--){int n,m;cin>>n>>m;int index=0;int w,v,k;for(int i=1;i<=m;i++){int c=1;cin>>w>>v>>k;while(k-c>0){k-=c;node[++index].w=c*w;node[index].v=c*v;c*=2;}node[++index].w=k*w;node[index].v=k*v;}for(int i=0; i<=n; i++) dp[i]=0;for(int i=1;i<=index;i++){for(int j=n;j>=node[i].w;j--)dp[j]=Max(dp[j],dp[j-node[i].w]+node[i].v);}cout<<dp[n]<<endl;}return 0;
}
急!灾区的食物依然短缺!(找不到原题出处只能这样了.....)相关推荐
- 依赖包存在,但是仍依然报找不到包的问题
idea运行项目问题记录及解决方案 依赖包存在,但是仍依然报找不到包的问题 皆大欢喜 依赖包存在,但是仍依然报找不到包的问题 解决方案一: clean 项目,重新运行 解决方案二:清缓存 以上两种方法 ...
- 帮我找一下JAVA_急!!!帮我找出程序中的错误
2018-03-31 对象不支持此属性或方法.我该怎末办? 收到的邮件是乱码应该如何处理 1>一般来说,乱码邮件的原因有下面三种:1.由于发件人所在的国家和地区的编码和中国大陆不一样,比如台湾香 ...
- hdu3786 找出直系亲属 水题
题意: 找出直系亲属 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total ...
- 【CodeForces - 764A】Taymyr is calling you (找规律,水题)
题干: Comrade Dujikov is busy choosing artists for Timofey's birthday and is recieving calls from Taym ...
- linux系统修复找不到原安装,Linux 系统用安装盘来修复GRUB 详解
常用恢复MBR的办法还有一种是用升级系统的办法,这种办法经过验证,是极不可 靠的.我们经过近二三十次的实践,证明效果几乎很少,这个办法用于没有安装 GRUB的还是可行的.如果已经把GRUB安装上,后来 ...
- NSWOJ-zlh找男朋友(水题)
题目描述 zlh找不到女朋友很苦恼,一天晚上看着他的室友,突然有了一个大胆的想法. 他室友给他 n个数,你的任务是告诉zlh里面有几个数是3的倍数. 输入 第一行输入一个n(1<=n<=1 ...
- Leetcode刷题五遍还没offer - 听我分析为什么找工作光刷题没用
一亩三分地就业求职版里,有位同学发帖说: LZ从14年秋季入学开始刷题,一门心思要找份好工作,到现在leetcode已经刷过五遍,都做好详尽的总结,看过geeksforgeeks里面一半的topic. ...
- LeetCode 207. Course Schedule--有向图找环--面试算法题--DFS递归,拓扑排序迭代--Python
题目地址:Course Schedule - LeetCode There are a total of n courses you have to take, labeled from 0 to n ...
- hdu 1005 1021 递归超限 找规律 // 只要看题中n较大都是有规律的
因为n>1000000000所以用递归 数组超限, 由递归函数f(n)=(A*f(n-1)+B*f(n-2))%7; 因为是除7的余数 因次一共有7*7=49种情况, 以后的值都和之前的对应相等 ...
最新文章
- 原创 | 入门“大数据”,你需要通读这18本书
- elasticsearch给IK分词器添加自定义词汇
- 「offer来了」从基础到进阶原理,从vue2到vue3,48个知识点保姆级带你巩固vuejs知识体系
- c语言位运算符的使用_C语言程序使用位运算符检查给定数字是否为回文
- 这是300年后的人类生活!你相信吗?
- Protocol handler start failedCaused by: java.net.SocketException: Permission denied
- Oracle PL/SQL之NEXT_DAY - 取得下一个星期几所在的日期
- spring 属性注入
- 浪潮服务器怎么获取cpu信息,浪潮获取cpu、内存、硬盘等信息(redfish协议+restfull协议)...
- 方差分析软件_Minitab统计软件入门(一)
- 如何修改VS编译器的背景图:快来换属于你的背景图!!!!!
- linux怎么修改数据库字段长度,Postsql 修改字段长度和类型
- html开始游戏如何打开,dnf游戏进不去 点击开始-运行,输入CMD
- 踏雪点圣火,冰雕刻五环!揭秘全球刷屏的冬奥开幕式黑科技
- 自监督学习经典之作:DINO
- 基于Android的背单词软件【源码+文档+答辩PPT】
- win11更新特别慢怎么办
- 备份 二进制备份MySQLdump 增量备份 xtrabackupex
- 一次性修改多张图片尺寸
- 【OPENCV_系列电子PDF图书连载】计算机视觉从入门到精通完整学习路线专栏
热门文章
- 一直都以为阿里的程序员待遇是最好的,结果真正的土豪竟然是……
- 【Windows Server 2019】路由服务的配置和管理
- 期权学习之常见收益结构
- IDEA运行卡顿,网页刷新不及时,网页报404错误以及Ajax收不到servlet返回的数据(已解决)
- Redis-6.2.* 版本配置文件redis.conf详解
- grafan 6.3.x pannel研究
- 2021总结2022规划
- npm cb() never called!和 Error: getaddrinfo ENOTFOUND registry.npmjs.com registry.npmjs.com:443
- 【阅读提要】《电子设备热设计及分析技术》_余建祖_1
- 人工智能 漆桂林_2020年CCF专委活动计划(预通过)