当前位置: 首页 > news >正文

开心的小明(dp)

题目地址:http://acm.nyist.net/JudgeOnline/problem.php?pid=49

开心的小明

时间限制: 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


很明显是个动态规划问题。最优子结构。

a[i][j]=max{a[i-1][j],v[i]*w[i]+a[i-1][j-v[j]]};

也可以用回溯来做。
#include<iostream>
using namespace std;
const int Max=26;
//开心的小明
int N,w[Max],v[Max],vmax,a[Max][30001];
inline int maxx(int a,int b){return a>b?a:b;}
int main()
{int n;cin>>n;cin.clear();cin.sync();while(n--){cin>>vmax>>N;int i,j;for(i=1;i<=N;i++)cin>>v[i]>>w[i];for(i=0;i<=N;i++)for(j=0;j<=N;j++)a[i][j]=0;for(i=1;i<=N;i++){//第i个物品for(j=1;j<=vmax;j++){//当前背包容量jif(v[i]>j)	a[i][j]=a[i-1][j];else	a[i][j]=maxx(a[i-1][j],v[i]*w[i]+a[i-1][j-v[i]]);}}cout<<a[N][vmax]<<endl;}return 0;
}


http://www.xdnf.cn/news/840241.html

相关文章:

  • DELL BIOS 中英文對照表
  • 中国十大最狠的流氓网站曝光!
  • 使用Easyswoole 搭建简单的Websoket服务
  • 【年度总结】互联网不行了?对IT技术行业的深度思考
  • Visual Studio 2017 : client version 1.22 is too old
  • 初识Lazarus和Free Pascal Compiler
  • OS X10.10.3正式版和Xcode 6.3正式版下载
  • 计算机u盘设备无法启动不了,系统提示“该设备无法启动(代码:10)”,USB设备不能开始工作怎么办?...
  • Android基础入门
  • 中文乱码另类解决办法,简单,方便!
  • 详解RS-485上下拉电阻的选择
  • 意甲官网在中国地区被假网劫持,竟声称赞助?
  • 全球电容生产厂商排名一览表
  • 从Java角度看区块链实践系列4:从区块结构的“链”结构结构以及Merkle树,什么是软硬分叉?
  • Java武林q传仙女下凡_请问谁有武林Q传之仙女下凡的秘笈
  • 微信开放平台生态系列(一)微信第三方平台开发定制服务商模式配置
  • 电视常用接口(TV,AV,S-Video,YCbCr/PCbCr,VGA,Scart,DVI/HDMI)
  • 思维1
  • 19个免费的ppt制作网站
  • 名人博客大全
  • 我的闲鱼Python爬虫接单总结和经验,最高600!
  • IP归属地查询API详解
  • Excel表格的35招必学秘技
  • SSP对DSP发出的Bid Request应该包含什么信息
  • 很色,非常色,十分色,格外色,异常色,特别色,相当色,太色了!
  • 操作系统Marking02源代码
  • Windows 7互联网视频介绍
  • 大众文化与文化产业
  • 【保姆级教程】免费内网穿透,手把手搭建,三步搞定
  • GPT版超级马里奥来了!输入文本即可自定义游戏关卡 | GitHub标星500+