24339 Problem B 采药
问题 B: 采药
时间限制: 1 Sec 内存限制: 128 MB
提交: 67 解决: 49
题目描述
辰辰是个天资聪颖的孩子,他的梦想是成为世界上最伟大的医师。为此,他想拜附近最有威望的医师为师。
医师为了判断他的资质,给他出了一个难题。
医师把他带到一个到处都是草药的山洞里对他说:“孩子,这个山洞里有一些不同的草药,采每一株都需要一些时间,每一株也有它自身的价值。我会给你一段时间, 在这段时间里,你可以采到一些草药。如果你是一个聪明的孩子,你应该可以让采到的草药的总价值最大。”
如果你是辰辰,你能完成这个任务吗?
输入
第 一行有两个整数T(1 <= T <= 1000)和M(1 <= M <= 100),用一个空格隔开,
T代表总共能够用来采药的时间,M代表山洞里的草药的数目。
接下来的M行每行包括两个在1到100之间(包括1和100)的整 数,分别表示采摘某株草药的时间和这株草药的价值。
输出
一个整数,表示在规定的时间内,可以采到的草药的最大总价值。
样例输入
70 3
71 100
69 1
1 2
样例输出
3
数据规模
对于30%的数据,M <= 10;
对于全部的数据,M <= 100。
经验总结
经典的01背包问题,状态转移方程: dp [ v ] = max ( dp [ v ] , dp [ v - t[ i ] ] + v[ i ] )
其中 t [ i ] 表示草药的采集时间 , v [ i ] 指草药的价值。
正确代码
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;
const int maxv=1010,maxn=110;
int dp[maxv],t[maxn],v[maxn];int main()
{int T,n;while(~scanf("%d %d",&T,&n)){for(int i=1;i<=n;++i){scanf("%d %d",&t[i],&v[i]);}for(int i=1;i<=n;++i){for(int x=T;x>=t[i];--x){dp[x]=max(dp[x],dp[x-t[i]]+v[i]);}}int max=0;for(int x=0;x<=T;++x){if(dp[x]>max){max=dp[x];}}printf("%d\n",max); }return 0;
}
24339 Problem B 采药相关推荐
- codeup墓地目录(算法笔记习题刷题笔记)
在线codeup contest 地址:http://codeup.cn/contest.php Contest100000575 - <算法笔记>3.1小节--入门模拟->简单模拟 ...
- codeup墓地目录
代码内容为原创C++ 在线codeup contest 地址:http://codeup.cn/contest.php Contest100000575 - <算法笔记>3.1小节--入门 ...
- P1616 疯狂的采药(python3实现)--80分
疯狂的采药 - 洛谷 """ P1616 疯狂的采药(python3实现)--80分 https://www.luogu.com.cn/problem/P1616&quo ...
- 动态规划 背包问题小结 0-1背包(采药 九度第101题) 完全背包(Piggy-Bank POJ 1384) 多重背包(珍惜现在,感恩生活 九度第103题)
本小结介绍0-1背包.完全背包以及多重背包问题 记忆要点: 0-1背包:二维数组情况下,顺序遍历体积或者倒序均可以 降维情况下需倒序遍历体积 完全背包:数组降维+顺序遍历 ...
- linux下yum错误:[Errno 14] problem making ssl connection Trying other mirror.
所有的base 都要取消注释 mirrorlist 加上注释 另外所有的enable都要设为零 目录 今天是要yum命令安装EPEL仓库后 yum install epel-release 突然发现y ...
- A + B Problem
1001: A + B Problem Description 计算 A + B. Input 多组测试数据,每组测试数据占一行,包括2个整数. Output 在一行中输出结果. Sample Inp ...
- Error:(49, 1) A problem occurred evaluating project ':guideview'. Could not read script 'https://r
出现问题如下: Error:(49, 1) A problem occurred evaluating project ':guideview'. > Could not read script ...
- #418 Div2 Problem B An express train to reveries (构造 || 全排列序列特性)
题目链接:http://codeforces.com/contest/814/problem/B 题意 : 有一个给出两个含有 n 个数的序列 a 和 b, 这两个序列和(1~n)的其中一个全排列序列 ...
- ADPRL - 近似动态规划和强化学习 - Note 3 - Stochastic Infinite Horizon Problem
Stochastic Infinite Horizon Problem 3.Stochastic Infinite Horizon Problem 定义3.1 无限范围的马尔可夫决策过程 (Marko ...
最新文章
- 阿里自动驾驶新突破!达摩院自研ISP图像处理器大幅提升安全性
- java怎么修改fxml,JavaFX FXML修改列表
- Intel汇编语言程序设计学习-第五章 过程-上
- U3D assetbundle加载
- BestCoder Round #91 1001 Lotus and Characters
- 前端学习(3249):总结生命周期
- Instagram: 用Django服务30亿用户
- McAfee麦咖啡8.5企业版高级教程
- c语言行列坐标是先行后j,C语言课后习题参考答案
- 巫师3储物箱在哪_巫师三孤岩宝箱在哪 | 手游网游页游攻略大全
- 谈谈公司内部的技术分享
- tp-link tl-wr740n 虚拟服务器,TP-Link TL-WR740N无线wifi无线桥接怎么设置 | tplogin.cn
- 远程唤醒、WOL、Magic_Packet
- There appears to be trouble with your network connection.Retrying
- 数据库设计、查询规范及常用SQL语句
- 微信气泡主题设置_微信猫和老鼠主题皮肤怎么设置 华为手机设置气泡主题方法...
- dns服务器未响应网速卡,DNS服务器未响应且网速突然变的不好是什么原因 怎样解决...
- jQuery中$(function(){})与(function($){})(jQuery)、$(document).ready(function(){})等的区别详细讲解
- 点云引导滤波算法实现
- 手机版跑跑卡丁车RainbowCastle3
热门文章
- java-图书Marc文件导入处理
- Scratch简单实现大鱼吃小鱼
- codeforces All the Vowels Please
- css翘边阴影图片,【CSS】翘边阴影
- android开发环境安装
- 高中数学数列公式7种方法(方法全,例子全,归纳细)
- 使用pnpm+vue-cli,出现报错:Error: command failed: pnpm install --reporter silent --shamefully-hoist
- 纯流量卡(物联卡)的套路,你了解多少
- python 拦截windows弹窗广告_win10系统怎样拦截各种软件的广告弹窗
- 新导部队营房室内人员定位系统解决方案