每日一题 No.30 简单的背包问题
来源:互联网 发布:外卖快餐软件 编辑:程序博客网 时间:2024/05/22 03:31
本题要求:
今天开始学习dp数组的运用。
题目如下:
小明跟妈妈去超市买东西,看中了n个好吃的,但是她妈妈只让他拿m个,每个好吃的都有好吃值
请问小明应该拿哪个好呢?
输入格式:
第一行n,m
下面一行有n个数分别代表好吃值
输出格式:
输出最高好吃值
输入样例:
5 2
1 5 3 2 4
输出样例:
9
解题思路 :
i控制的是当前取的是哪个商品,j决定的是我现在取几个。
为什么从m个开始往1个取呢?
因为这就相当于,你先从商店直接拿了m个商品,接着比较一下,我是将手上的m个中的一个扔掉再拿现在的商品合适还是保持现在的合适。
代码 :
#include <iostream>using namespace std;int dp[101];int main() { int n, m; cin >> n >> m; int price[101]; for (int i = 1; i <= n; i++) { cin >> price[i]; } for (int i = 1; i <= n; i++) { for (int j = m; j >= 1; j--) { dp[j] = max(dp[j - 1] + price[i], dp[j]); } } cout << dp[m] << endl; return 0; }
0 0
- 每日一题 No.30 简单的背包问题
- 每日一题 No.32 程序员的归宿问题
- 每日一题 No.50 任意二点间的最短路问题(Floyd-Warshall算法)
- 每日一题 No.6 数字的中文读法
- 每日一题 No.11 有颜色的控制台
- 每日一题 No.13 会移动的光标
- 每日一题 No.26 vector容器的学习
- 每日一题 No.27 set容器的学习
- 每日一题 No.28 main函数的参数学习
- 每日一题 No.31 学习ctype.h的用法
- 每日一题 No.46 输出素数的个数
- 每日一题 No.47 区间内素数的个数
- 每日一题 No.5 括号匹配
- 每日一题 No.7 从小到大输出
- 每日一题 No.8 求最大公约数
- 每日一题 No.9 赛车比赛
- 每日一题 No.23 字符串学习
- 每日一题 No.35 五一劳动节快乐~
- CNN基础
- 【Java基础】泛型
- No mapping found for HTTP request with URI [/ss1/] in DispatcherServlet with (SSM)
- \r\n,\n,\r的历史及在不同系统下的区别
- druid StatViewServlet配置 内置web页面
- 每日一题 No.30 简单的背包问题
- Jpush 自定义推送声音
- Mybatis入门程序
- 代码重构(三):数据重构规则
- spring源码解读:aware接口
- 因式分解结合最近邻:多层面的协同过滤模型
- Android中定时任务的实现方法
- 做项目是抢,做互联网是拼。 一个是跟对手抢,一个是自己跟自己比拼。
- Multiple methods named 'count:' found with mismatched result, parameter type or attributes