nyoj--49--开心的小明(背包)
开心的小明
- 描述
-
小明今天很开心,家里购置的新房就要领钥匙了,新房里有一间他自己专用的很宽敞的房间。更让他高兴的是,妈妈昨天对他说:“你的房间需要购买哪些物品,怎么布置,你说了算,只要不超过N 元钱就行”。今天一早小明就开始做预算,但是他想买的东西太多了,肯定会超过妈妈限定的N 元。于是,他把每件物品规定了一个重要度,分为5 等:用整数1~5 表示,第5 等最重要。他还从因特网上查到了每件物品的价格(都是整数元)。他希望在不超过N 元(可以等于N 元)的前提下,使每件物品的价格与重要度的乘积的总和最大。设第j 件物品的价格为v[j],重要度为w[j],共选中了k 件物品,编号依次为j1...jk,则所求的总和为:v[j1]*w[j1]+..+v[jk]*w[jk]请你帮助金明设计一个满足要求的购物单.
- 输入
-
第一行输入一个整数N(0<N<=101)表示测试数据组数
每组测试数据输入的第1 行,为两个正整数,用一个空格隔开:
N m
(其中N(<30000)表示总钱数,m(<25)为希望购买物品的个数。)
从第2 行到第m+1 行,第j 行给出了编号为j-1
的物品的基本数据,每行有2 个非负整数
v p
(其中v 表示该物品的价格(v≤10000),p 表示该物品的重要度(1~5)) - 输出
-
每组测试数据输出只有一个正整数,为不超过总钱数的物品的价格与重要度乘积的总和的
最大值(<100000000) - 样例输入
-
1 1000 5 800 2 400 5 300 5 400 3 200 2
- 样例输出
-
3900
#include<stdio.h>
#include<string.h>
#include<algorithm>
using namespace std;
struct node
{int v,w;
}edge[10010];
int dp[60010];
bool cmp(node s1,node s2)
{return s1.v*s1.w>s2.v*s2.w;
}
int main()
{int n,m;int t;scanf("%d",&t);while(t--){memset(dp,0,sizeof(dp));scanf("%d%d",&n,&m);for(int i=0;i<m;i++)scanf("%d%d",&edge[i].v,&edge[i].w);sort(edge,edge+m,cmp);for(int i=0;i<m;i++){for(int j=n;j>=edge[i].v;j--){dp[j]=max(dp[j],dp[j-edge[i].v]+edge[i].v*edge[i].w);}}printf("%d\n",dp[n]);}return 0;
}
转载于:https://www.cnblogs.com/playboy307/p/5273691.html
nyoj--49--开心的小明(背包)相关推荐
- NYOJ 49 开心的小明
开心的小明 时间限制:1000 ms | 内存限制:65535 KB 难度:4 描述 小明今天很开心,家里购置的新房就要领钥匙了,新房里有一间他自己专用的很宽敞的房间.更让他高兴的是,妈妈昨天对他 ...
- NYOJ 49 开心的小明
点击打开链接 很多题都可以通过转化,转化为我们比较熟悉的模型,比如说这个题,我们就可以转化为0-1背包处理.把n当作背包容积,m当作物品个数,v当作每种物品的体积,p*v当作每种物品的价值,这样,求物 ...
- 开心的小明 (NYOJ49) [动态规划.01背包]
开心的小明 时间限制:1000 ms | 内存限制:65535 KB 难度:4 描述 小明今天很开心,家里购置的新房就要领钥匙了,新房里有一间他自己专用的很宽敞的房间.更让他高兴的是,妈妈昨天对他 ...
- NYOJ-49 开心的小明
开心的小明 时间限制:1000 ms | 内存限制:65535 KB 难度:4 描述 小明今天很开心,家里购置的新房就要领钥匙了,新房里有一间他自己专用的很宽敞的房间.更让他高兴的是,妈妈昨天对他 ...
- 【动态规划】开心的小明
[动态规划]开心的小明 贵有恒,何必三更起五更眠:最无益,莫过一日曝十日寒. [动态规划]开心的小明 时间限制: 1 Sec 内存限制: 128 MB 提交: 20 解决: 10 [提交][状态] ...
- 开心的小明-动态规划算法
开心的小明 时间限制:1000 ms | 内存限制:65535 KB 难度:4 描述 小明今天很开心,家里购置的新房就要领钥匙了,新房里有一间他自己专用的很宽敞的房间.更让他高兴的是,妈妈昨天对他 ...
- 开心的小明(ACM)
开心的小明 时间限制:1000 ms | 内存限制:65535 KB 难度:4 描述 小明今天很开心,家里购置的新房就要领钥匙了,新房里有一间他自己专用的很宽敞的房间.更让他高兴的是,妈妈昨天对他 ...
- C++编程题,开心的小明
小明今天很开心,家里购置的新房就要领钥匙了,新房里有一间他自己专用的很宽敞的房间.更让他高兴的是,妈妈昨天对他说:"你的房间需要购买哪些物品,怎么布置,你说了算,只要不超过N元钱就行&quo ...
- NYOJ 52 无聊的小明
无聊的小明 时间限制:3000 ms | 内存限制:65535 KB 难度:3 描述 这天小明十分无聊,没有事做,但不甘于无聊的小明聪明的想到一个解决无聊的办法,因为他突然对数的正整数次幂产生了兴 ...
- NYOJ 擅长排列的小明 II---Problem B
擅长排列的小明 II 时间限制:1000 ms | 内存限制:65535 KB 描述 小明十分聪明,而且十分擅长排列计算. 有一天小明心血来潮想考考你,他给了你一个正整数n,序列1,2,3,4,5 ...
最新文章
- Grafana常用的监控
- sql server 清空数据库表数据
- dubbo k8s 服务发现_服务化改造实践(二)| Dubbo + Kubernetes-阿里云开发者社区
- C#(9)——API调用
- oracle扩容日志文件,调整Oracle Redo Logfile日志文件的大小
- VScode 开发stm32无法识别uint32_t,uint16_t,uint8_t问题
- python二级考试选择题公共基础知识_计算机二级Python易忘考点整理
- 拖得太久了 美运营商ATT取消三星折叠手机Galaxy Fold预购订单
- The Dandy Lab使用RFID积分方案,提升客户保持率
- 组件加name属性_从零开始学习React-属性绑定(三)
- PAT1018 Public Bike Management【dfs】【最短路】
- mac下的mysql报错:ERROR 1045(28000)和ERROR 2002 (HY000)的解决办法
- Data Science With R In Visual Studio
- OpenGl图元基本操作之点选高亮
- 基于mysql学生成绩管理论文_基于SQL Server的学生成绩管理系统设计论文
- cat3 utp是不是网线_五类网线(CAT 5E/CAT 3 UTP)
- Linux CentOS7系统配置IP地址
- PowerApps教程10-图表的设计与嵌入
- 基于steam的游戏销量预测 — PART 2 — 文本分析
- 计算机二级要学的函数有哪些,2017年计算机二级考试MS office 常用函数
热门文章
- c语言冒泡排序字母排序,排序与查找之冒泡排序篇(C语言实现)
- 牛客网暑期ACM多校训练营(第二场): H. travel(树形线头DP)
- 2017乌鲁木齐ICPC: K. Sum of the Line(容斥)
- Min_25筛(LibreOJ #6053: 简单的函数)
- bzoj 3040: 最短路(road)(堆优化dijkstra)
- 链表+启发式合并(bzoj 1483: [HNOI2009]梦幻布丁)
- C++map关联容器2.0
- [bug解决] TensorFlow安装错误:ERROR Cannot uninstall ‘wrapt‘
- js中函数返回值return
- 贺利坚老师汇编课程26笔记:LOOP指令使用再议