dp--背包--开心的金明
题目描述
金明今天很开心,家里购置的新房就要领钥匙了,新房里有一间他自己专用的很宽敞的房间。更让他高兴的是,妈妈昨天对他说:“你的房间需要购买哪些物品,怎么布置,你说了算,只要不超过N元钱就行”。今天一早金明就开始做预算,但是他想买的东西太多了,肯定会超过妈妈限定的N元。于是,他把每件物品规定了一个重要度,分为5等:用整数1−5表示,第5等最重要。他还从因特网上查到了每件物品的价格(都是整数元)。他希望在不超过N元(可以等于N元)的前提下,使每件物品的价格与重要度的乘积的总和 设第jjj件物品的价格为v[j],重要度为w[j],共选中了k件物品,编号依次为j1,j2,…,jk,则所求的总和为: v[j1]×w[j1]+v[j2]×w[j2]+…+v[jk]×w[jk]。 请你帮助金明设计一个满足要求的购物单。 输入格式
第一行,为2个正整数,用一个空格隔开:N m(其中N(<)表示总钱数,m(<)为希望购买物品的个数。) 从第2行到第m+1行,第j行给出了编号为j−1的物品的基本数据,每行有2个非负整数v p(其中v表示该物品的价格(v≤),p表示该物品的重要度(−) 输出格式
1个正整数,为不超过总钱数的物品的价格与重要度乘积的总和的最大值(<)。
01背包问题:i表示取第i个物品,j表示容积,每个物品只取一次。f[i][j]表示取1~i个物品最多能取得价值。
状态转移方程:f[i][j]是f[i-1][j]和f[i-1][j-w[i]]中较大的一个。
第i个物品取和不取两种情况的较大值
#include<iostream>
#include <algorithm>
#include <cstdio>
using namespace std;
int f[];
int main()
{
int T, M;
int w[], c[];
cin >> T >> M;
for(int i = ; i <= M; ++i)
cin >> w[i] >> c[i];
for ( int i= ; i<=M ; i++ ) {
for ( int j=T ; j>=w[i] ; j-- ) {
f[j]=max(f[j],f[j-w[i]]+w[i]*c[i]);
}
}
printf("%d",f[T]);
return ;
}
dp--背包--开心的金明的更多相关文章
- codevs 1115 开心的金明--01背包
1115 开心的金明 2006年NOIP全国联赛普及组 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold 题目描述 Description 金明今天很开心,家里购 ...
- P1060 开心的金明(洛谷,动态规划递推,01背包轻微变形题)
题目链接:P1060 开心的金明 基本思路: 基本上和01背包原题一样,不同点在于这里要的是最大重要度*价格总和,我们之前原题是 f[j]=max(f[j],f[j-v[i]]+p[i]); 那么这里 ...
- 【洛谷p1060】开心的金明
(DP背包第一题,值得记录思路呀) 开心的金明[传送门] 洛谷算法标签: 01背包问题的思路分析见[总结]01背包问题 这道题显然是典型的01背包问题,首先我们显然可以由输入的第i个物体的价格v[i] ...
- 洛谷 P1060 开心的金明
开心的金明 Problem Description: 金明今天很开心,家里购置的新房就要领钥匙了,新房里有一间他自己专用的很宽敞的房间.更让他高兴的是,妈妈昨天对他说:"你的房间需要购买哪些 ...
- Luogu 1060 开心的金明 / NOIP 2006 (动态规划)
Luogu 1060 开心的金明 / NOIP 2006 (动态规划) Description 金明今天很开心,家里购置的新房就要领钥匙了,新房里有一间他自己专用的很宽敞的房间.更让他高兴的是,妈妈昨 ...
- P1060 开心的金明
P1060 开心的金明 题目描述 金明今天很开心,家里购置的新房就要领钥匙了,新房里有一间他自己专用的很宽敞的房间.更让他高兴的是,妈妈昨天对他说:“你的房间需要购买哪些物品,怎么布置,你说了算,只要 ...
- sicily 1342 开心的金明 (动规)
刷一下简单的背包问题 以下为代码: //1342. 开心的金明 #include <iostream> using namespace std; #define MAX(a,b) a> ...
- 洛谷 P1060 开心的金明【DP/01背包】
题目描述 金明今天很开心,家里购置的新房就要领钥匙了,新房里有一间他自己专用的很宽敞的房间.更让他高兴的是,妈妈昨天对他说:"你的房间需要购买哪些物品,怎么布置,你说了算,只要不超过N元钱就 ...
- ALGO-31_蓝桥杯_算法训练_开心的金明(DP)
问题描述 金明今天很开心,家里购置的新房就要领钥匙了,新房里有一间他自己专用的很宽敞的房间.更让他高兴的是,妈妈昨天对他说:“你的房间需要购买哪些物品,怎 么布置,你说了算,只要不超过N元钱就行”.今 ...
- 01背包【p1060】开心的金明
Description 金明今天很开心,家里购置的新房就要领钥匙了,新房里有一间他自己专用的很宽敞的房间.更让他高兴的是,妈妈昨天对他说:"你的房间需要购买哪些物品,怎么布置,你说了算,只要 ...
随机推荐
- cf 398B. Painting The Wall
23333,还是不会..%%%http://hzwer.com/6276.html #include <bits/stdc++.h> #define LL long long #defin ...
- 【转载】Asp .Net Web Api路由路径问题
原文章地址:https://www.cnblogs.com/devtester/p/8897302.html MVC也好,WebAPI也好,据我所知,有部分人是因为复杂的路由,而不想去学的.曾经见过一 ...
- scala安装教程及简单配置
本文将介绍以下内容:Windows下安装scala运行环境,安装编译工具并简单配置,实现著名的“Hello,World". 一,Windows下安装scala运行环境 1.配置jdk,因为s ...
- jqGrid 添加 合计行 footDate
jQuery(table_id).jqGrid({ url : url,//组件创建完成之后请求数据的url datatype : "json",//请求数据返回的类型.可选jso ...
- PGSQL基本操作语句
; --更新数据 ,,) ; --插入数据 ORDER BY app_name,flag asc/desc ; --查询数据并且排序 offset ; --查询起点0开始查询,返回5条数据 ORDER ...
- python_re正则表达
re模块就本质而言,正则表达式(或RE)是一种小型的.高度专业化的编程语言,(在python中)它内嵌在Python中,并通过re模块实现,正则表达式模块被编译成一系列的字节码,然后由用C编写的匹配引 ...
- mailx发送邮件
cent6.5自带mailx 这是个第三方的邮件发送 比如用自己的126给其他账户发邮件 cent6.5还自带了postfix 可以停掉 sendmail(cent5才自带6是postfix)也 ...
- CTF-域渗透--靶场夺旗
开门见山 1. 扫描靶场ip 192.168.1.106 2. 扫描靶场开放端口 3. 扫描靶场全部信息 4. 探测靶场敏感信息 5. 对一些特殊的端口进行nc探测 6. 为了绕过对应命令执行限制,可 ...
- POJ - 2976 Dropping tests(01分数规划---二分(最大化平均值))
题意:有n组ai和bi,要求去掉k组,使下式值最大. 分析: 1.此题是典型的01分数规划. 01分数规划:给定两个数组,a[i]表示选取i的可以得到的价值,b[i]表示选取i的代价.x[i]=1代表 ...
- POJ 2006:Litmus Test 化学公式
Litmus Test Time Limit: 1000MS Memory Limit: 30000K Total Submissions: 1709 Accepted: 897 Descri ...