开心的小明

时间限制:1000 ms  |  内存限制:65535 KB
难度:4
描述
小明今天很开心,家里购置的新房就要领钥匙了,新房里有一间他自己专用的很宽敞的房间。更让他高兴的是,妈妈昨天对他说:“你的房间需要购买哪些物品,怎么布置,你说了算,只要不超过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--开心的小明(背包)相关推荐

  1. NYOJ 49 开心的小明

    开心的小明 时间限制:1000 ms  |  内存限制:65535 KB 难度:4 描述 小明今天很开心,家里购置的新房就要领钥匙了,新房里有一间他自己专用的很宽敞的房间.更让他高兴的是,妈妈昨天对他 ...

  2. NYOJ 49 开心的小明

    点击打开链接 很多题都可以通过转化,转化为我们比较熟悉的模型,比如说这个题,我们就可以转化为0-1背包处理.把n当作背包容积,m当作物品个数,v当作每种物品的体积,p*v当作每种物品的价值,这样,求物 ...

  3. 开心的小明 (NYOJ49) [动态规划.01背包]

    开心的小明 时间限制:1000 ms  |  内存限制:65535 KB 难度:4 描述 小明今天很开心,家里购置的新房就要领钥匙了,新房里有一间他自己专用的很宽敞的房间.更让他高兴的是,妈妈昨天对他 ...

  4. NYOJ-49 开心的小明

    开心的小明 时间限制:1000 ms  |  内存限制:65535 KB 难度:4 描述 小明今天很开心,家里购置的新房就要领钥匙了,新房里有一间他自己专用的很宽敞的房间.更让他高兴的是,妈妈昨天对他 ...

  5. 【动态规划】开心的小明

    [动态规划]开心的小明 贵有恒,何必三更起五更眠:最无益,莫过一日曝十日寒. [动态规划]开心的小明 时间限制: 1 Sec  内存限制: 128 MB 提交: 20  解决: 10 [提交][状态] ...

  6. 开心的小明-动态规划算法

    开心的小明 时间限制:1000 ms  |  内存限制:65535 KB 难度:4 描述 小明今天很开心,家里购置的新房就要领钥匙了,新房里有一间他自己专用的很宽敞的房间.更让他高兴的是,妈妈昨天对他 ...

  7. 开心的小明(ACM)

    开心的小明 时间限制:1000 ms  |  内存限制:65535 KB 难度:4 描述 小明今天很开心,家里购置的新房就要领钥匙了,新房里有一间他自己专用的很宽敞的房间.更让他高兴的是,妈妈昨天对他 ...

  8. C++编程题,开心的小明

    小明今天很开心,家里购置的新房就要领钥匙了,新房里有一间他自己专用的很宽敞的房间.更让他高兴的是,妈妈昨天对他说:"你的房间需要购买哪些物品,怎么布置,你说了算,只要不超过N元钱就行&quo ...

  9. NYOJ 52 无聊的小明

    无聊的小明 时间限制:3000 ms  |  内存限制:65535 KB 难度:3 描述 这天小明十分无聊,没有事做,但不甘于无聊的小明聪明的想到一个解决无聊的办法,因为他突然对数的正整数次幂产生了兴 ...

  10. NYOJ 擅长排列的小明 II---Problem B

    擅长排列的小明 II 时间限制:1000 ms  |  内存限制:65535 KB 描述 小明十分聪明,而且十分擅长排列计算. 有一天小明心血来潮想考考你,他给了你一个正整数n,序列1,2,3,4,5 ...

最新文章

  1. Grafana常用的监控
  2. sql server 清空数据库表数据
  3. dubbo k8s 服务发现_服务化改造实践(二)| Dubbo + Kubernetes-阿里云开发者社区
  4. C#(9)——API调用
  5. oracle扩容日志文件,调整Oracle Redo Logfile日志文件的大小
  6. VScode 开发stm32无法识别uint32_t,uint16_t,uint8_t问题
  7. python二级考试选择题公共基础知识_计算机二级Python易忘考点整理
  8. 拖得太久了 美运营商ATT取消三星折叠手机Galaxy Fold预购订单
  9. The Dandy Lab使用RFID积分方案,提升客户保持率
  10. 组件加name属性_从零开始学习React-属性绑定(三)
  11. PAT1018 Public Bike Management【dfs】【最短路】
  12. mac下的mysql报错:ERROR 1045(28000)和ERROR 2002 (HY000)的解决办法
  13. Data Science With R In Visual Studio
  14. OpenGl图元基本操作之点选高亮
  15. 基于mysql学生成绩管理论文_基于SQL Server的学生成绩管理系统设计论文
  16. cat3 utp是不是网线_五类网线(CAT 5E/CAT 3 UTP)
  17. Linux CentOS7系统配置IP地址
  18. PowerApps教程10-图表的设计与嵌入
  19. 基于steam的游戏销量预测 — PART 2 — 文本分析
  20. 计算机二级要学的函数有哪些,2017年计算机二级考试MS office 常用函数

热门文章

  1. c语言冒泡排序字母排序,排序与查找之冒泡排序篇(C语言实现)
  2. 牛客网暑期ACM多校训练营(第二场): H. travel(树形线头DP)
  3. 2017乌鲁木齐ICPC: K. Sum of the Line(容斥)
  4. Min_25筛(LibreOJ #6053: 简单的函数)
  5. bzoj 3040: 最短路(road)(堆优化dijkstra)
  6. 链表+启发式合并(bzoj 1483: [HNOI2009]梦幻布丁)
  7. C++map关联容器2.0
  8. [bug解决] TensorFlow安装错误:ERROR Cannot uninstall ‘wrapt‘
  9. js中函数返回值return
  10. 贺利坚老师汇编课程26笔记:LOOP指令使用再议