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

2005NOIP普及组真题 3. 采药

线上OJ:

[05NOIP普及组] 采药

核心思想:

1、题与 2006 年普及组第2题《开心的金明》一样,考察的都是01背包。
2、直接套用01背包的一阶模板即可

a、限定时间看成背包总容量m
b、每件物品的采药时间 v 看成占用背包的体积
c、每件物品的价格w作为该物品的价值
则本题可套用标准的01背包问题模板:

for(int i = 0; i < n; i++)  // n个物品供选择
{int v, w;scanf("%d %d", &v, &w);  // 每个物品的体积v, 价值wfor(int j = m; j >= v; j--)  f[j] = max(f[j], f[j - v] + w);   // 从总容量m->当前物品读入的体积v, 逆序计算f[j]
}
题解代码:
#include <bits/stdc++.h>
using namespace std;const int N = 1010;int n, m;
int f[N];int main()
{scanf("%d%d", &m, &n);for (int i = 0; i < n; i ++ ){int v, w;scanf("%d%d", &v, &w);for (int j = m; j >= v; j -- ) f[j] = max(f[j], f[j - v] + w);}printf("%d\n", f[m]); return 0;
}
http://www.lryc.cn/news/361331.html

相关文章:

  • preventDefault()与stopPropagation()有什么区别?
  • AIGC 全面介绍
  • 网站入门:Flask用法讲解
  • 头歌数据库备份与恢复
  • 小程序项目创建与Vant-UI引入
  • xtrabackup 使用
  • C++写一个简单的计算器程序案例
  • Spring Boot 开发 -- swagger3.0 集成
  • 探索安全之道 | 企业漏洞管理:从理念到行动
  • 【记录贴:分布式系列文章】
  • 初识SDN(二)
  • 某红书旋转滑块验证码分析与协议算法实现(高通过率)
  • Gin的快速入门和搭建
  • react-native运行程序 出现 Application XXX is waiting for the debugger
  • 什么文档加密软件好用?迅软DSE加密软件你不会还不知道吧?
  • 【kubernetes】关于k8s集群的污点、容忍、驱逐以及k8s集群故障排查思路
  • linux进程加载和启动过程分析
  • WLAN组网模型探究
  • 操作系统基础知识
  • Kompas AI:智能生活的开启者
  • Java——二进制原码、反码和补码
  • git使用流程
  • C++设计模式|结构型 代理模式
  • C语言 带头双向循环链表的基本操作
  • MATLAB中扩展卡尔曼滤波误差估计的关键点
  • SpringBoot温习
  • Spring Cloud:构建高可用分布式系统的利器
  • IT技术 | 电脑蓝屏修复记录DRIVER_IRQL_NOT_LESS_OR_EQUAL
  • windows 下编译 TessRact+leptonica 识别图片文字
  • 如何把docker里的内容拷贝出来