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

洛谷 P1048 [NOIP2005 普及组] 采药

辰辰是个天资聪颖的孩子,他的梦想是成为世界上最伟大的医师。为此,他想拜附近最有威望的医师为师。医师为了判断他的资质,给他出了一个难题。医师把他带到一个到处都是草药的山洞里对他说:“孩子,这个山洞里有一些不同的草药,采每一株都需要一些时间,每一株也有它自身的价值。我会给你一段时间,在这段时间里,你可以采到一些草药。如果你是一个聪明的孩子,你应该可以让采到的草药的总价值最大。”

如果你是辰辰,你能完成这个任务吗?

输入格式

第一行有 22 个整数 TT(1 \le T \le 10001≤T≤1000)和 MM(1 \le M \le 1001≤M≤100),用一个空格隔开,TT 代表总共能够用来采药的时间,MM 代表山洞里的草药的数目。

接下来的 MM 行每行包括两个在 11 到 100100 之间(包括 11 和 100100)的整数,分别表示采摘某株草药的时间和这株草药的价值。

输出格式

输出在规定的时间内可以采到的草药的最大总价值。

输入输出样例

输入 #1复制

70 3
71 100
69 1
1 2

输出 #1复制

3

说明/提示

【数据范围】

  • 对于 30\%30% 的数据,M \le 10M≤10;
  • 对于全部的数据,M \le 100M≤100。

【题目来源】

NOIP 2005 普及组第三题

代码如下:
 

#include<bits/stdc++.h>
using namespace std;
int f[105][1005];
int w[105];		//w数组表示采摘每个草药需要的时间;  
int v[105];		//v数组表示草药的价值; 
int main(){int n,m;scanf("%d %d",&n,&m);		//n表示总共能够用来采药的时间,m代表山洞里的草药的数目。for(int i=1;i<=m;i++){scanf("%d %d",&w[i],&v[i]);} for(int i=1;i<=m;i++){for(int j=0;j<=n;j++){f[i][j]=f[i-1][j];if(j>=w[i]){f[i][j]=max(f[i][j],f[i-1][j-w[i]]+v[i]);}}}printf("%d",f[m][n]);return 0;
}

http://www.lryc.cn/news/335809.html

相关文章:

  • VMware vSphere虚拟化基础管理平台
  • leetcode刷题-代码训练营-第7章-回溯算法1
  • 三种常见webshell工具的流量特征分析
  • pkg打包nodejs程序用动态require路由出现问题
  • 设计模式(018)行为型之策略模式
  • c++关键字: =delete和=default
  • JSON
  • Python | 超前滞后分析
  • Linux CPU利用率
  • vue3实现导出pdf、png功能
  • what is tty?
  • 在vite中限制node版本
  • 07 Php学习:运算符
  • 做了多年前端,有没有想在python,go,nodejs,.net,java,c++中学一门后端,推荐
  • JR-SMD201-P便携式网络解码器
  • 线程池阻塞队列的选择
  • linux内核驱动-在内核代码里添加设备结点
  • 【算法优选】 动态规划之简单多状态dp问题——贰
  • 【算法刷题 | 二叉树 06】4.10( 路径总和、路径总和 || )
  • 代码学习记录37----动态规划
  • Spring Boot:Web开发之三大组件的整合
  • 2024.3.15力扣每日一题——卖木头块
  • vue快速入门(七)内联语句
  • Docker实战教程 第2章 Docker基础
  • 【S32K3 MCAL配置】-3.2-CANFD配置-发送“经典CAN/CANFD标准帧“和“经典CAN/CANFD扩展帧“(基于MCAL+FreeRTOS)
  • 【airtest】自动化入门教程(四)Poco元素定位
  • Go语言中如何处理goroutine和循环变量
  • Pytest教程:一文了解如何使用 pytest_runtest_makereport 修改 Pytest 测试报告内容
  • 《高通量测序技术》分享,生物信息学生信流程的性能验证,以肿瘤NGS基因检测为例。
  • Django+Celery框架自动化定时任务开发