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

CCF CSP 第37次(2025.03)(2_机器人饲养指南_C++)

CCF CSP 第37次(2025.03)(2_机器人饲养指南_C++)

      • 解题思路:
        • 思路一(完全背包):
      • 代码实现
        • 代码实现(思路一(完全背包)):

时间限制: 1.0 秒
空间限制: 512 MiB
原题链接

解题思路:

思路一(完全背包):

1、解题步骤拆分:
① 数据输入:

  • 第一行输入 n m(int)。
  • 第二行输入 m 个整数 A1, A2, …, Am 代表一天内投喂不同苹果数的收益。

② 数据处理:通过分析此次题目是一个完全背包问题:

  • 每天投喂苹果的数量是物品的重量。
  • 投喂苹果后获得的快乐值是物品的价值。
  • 整数n代表苹果总数,也就是背包容量。
  • 整数m代表含有m种投喂方式(也即m种物品)。
  • dp[i] 代表容量为 i 时背包能够获得的最大价值。
  • 状态转移方程:dp[i] = max(dp[i], dp[i - j] + value[j])。
  • dp[0] = 0,背包容量为 0 时能放的最大价值是 0。
  • 因为相同物品可以重复使用,所以内层循环应从当前物品位置开始遍历,即遍历顺序为从左到右。

③ 数据输出:最终 dp[n] 即为容量为 n 时能获得的最大价值。

代码实现

代码实现(思路一(完全背包)):
#include<iostream>
#include<vector>
// #include<bits/stdc++.h>   // 引入所有标准库,一般不推荐使用,可能导致不必要的头文件引入
using namespace std;int main(int argc, char const *argv[])
{int n, m;// 输入总苹果数(背包容量)n 和 投喂方式数量 mcin >> n >> m;vector<int> A(m);// 输入m个整数,代表每种投喂方式对应的收益(物品的重量为i+1,价值为A[i])for (int i = 0; i < m; i++){cin >> A[i];}// 创建 dp 数组,初始化为 0, dp[i] 代表容量为 i 时的最大价值vector<int> dp(n + 1, 0);// 遍历每个投喂方式(物品)for (int i = 0; i < m; i++){// 遍历容量,从当前投喂方式的数量开始,直到容量为 n// 这里 i+1 表示的是当前投喂方式对应的苹果数,因为 A[i] 代表每种方式的收益(苹果数)for (int j = i + 1; j <= n; j++){// 计算在当前容量下能获得的最大价值dp[j] = max(dp[j], dp[j - (i + 1)] + A[i]);}}// 输出最大值,即 dp[n],代表容量为 n 时的最大快乐值cout << dp[n] << endl;return 0;
}

欢迎大家和我沟通交流(✿◠‿◠)

相关文章:

  • UE5的 Modify Curve 蓝图节点
  • leetcode0099. 恢复二叉搜索树- medium
  • 约束constraint
  • Python删除Elasticsearch指定数据
  • 从 Vue 到 React:React.memo + useCallback 组合技
  • php 支付宝官方 Alipay Easy SDK
  • es的range失效
  • 【Docker】在Ubuntu平台上的安装部署
  • 无线监控系统分类全解析:搭配视频融合平台EasyCVR开启高效监控
  • 23种设计模式-结构型模式之组合模式(Java版本)
  • 黑马商城-微服务笔记
  • 云原生时代的双轮驱动
  • Unity 将Excel表格中的数据导入到Mysql数据表中
  • 4.23刷题记录(栈与队列专题)
  • 将输入帧上下文打包到下一个帧的预测模型中用于视频生成
  • RocketMQ 核心架构速览
  • Elasticsearch复习笔记
  • 数据集 | 苹果目标检测数据集
  • 车载功能测试-车载域控/BCM控制器测试用例开发流程【用例导出方法+优先级划分原则】
  • 如何避免AI编造虚假文献
  • 东方富海陈玮: 什么样的创业者能让天使投资人愿意下注
  • 耐克领跑女性运动市场:持续加码、创新,更多新增长点有望涌现
  • 外交部:中方近日派出停火监督组赴缅,监督缅军和果敢同盟军停火
  • 乍嘉苏改扩建项目迎来新进展!预应力管桩首件施工顺利完成
  • 世界读书日丨“好书最美”,国家图书馆举办读书日特别活动
  • 商务部:试点示范已形成9批190多项创新成果向全国推广