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

题解:P14920 [GESP202512 六级] 道具商店

题解:P14920 [GESP202512 六级] 道具商店

前言

题目传送门

没想到出题人这么良心,出了一道大水题。

思路讲解

很经典的一个背包问题。

根据个人习惯,\(m\) 表示金币数量,\(v\) 表示增加的攻击力,\(w\) 表示价格。

我们发现,\(m\) 的值非常大,如果用普通的01背包来做,超时超空间,我们考虑效率更高的动态规划方式。

定义 \(DP\)

我们发现 \(w_i\)\(n\) 的值都小于 500,那么就算全部取完也不会超时。

定义 \(dp_i\) 表示当总价值为 \(i\) 的时候,最少花费的金币。

那么最终答案就是找到一个最大的数 \(j\),使得 \(dp_j \le m\)

状态转移

不过是和普通转移翻了一下。

原本是 \(dp_j=max(dp_j,dp_{j-w_i}+v_i)\)

现在是 \(dp_j=min(dp_j,dp_{j-v_i}+w_i)\)

AC Code

别忘了 \(dp\) 数组初始化为无穷大。

#include <bits/stdc++.h>
using namespace std;
int n, m, v[505], w[505], cur, dp[250005];
//cur 表示所有物品的价值之和
int main()
{cin >> n >> m;for (int i = 1; i <= n; i++){cin >> v[i] >> w[i];cur += v[i];}//输入for (int i = 1; i <= cur; i++){dp[i] = 0x3f3f3f3f;//初始化dp数组}for (int i = 1; i <= n; i++){for (int j = cur; j >= v[i]; j--){dp[j] = min(dp[j], dp[j - v[i]] + w[i]);//状态转移方程}}for (int i = cur; i >= 0; i--) //输出答案{if (dp[i] <= m){cout << i << endl;break;}}return 0;
}
http://www.jsqmd.com/news/173063/

相关文章:

  • 【语音识别】基于K近邻分类算法的语音情感识别附Matlab代码
  • 《程序员修炼之道 - 从小工到专家》阅读笔记8
  • 2025.12.31日21:10-fastidious难取悦的, 挑剔的, 苛求的, (微生物等)需要复杂营养地
  • 【预测转矩控制三相感应电动机】实现三相感应电动机(MIT)预测转矩控制(PTC),描述了用于为变频器提供转矩参考值的控制器计算方法研究附Matlab代码、Simulink仿真
  • 《程序员修炼之道 - 从小工到专家》阅读笔记9
  • 《程序员修炼之道 - 从小工到专家》阅读笔记7
  • 雷达液位计工作原理是什么?(脉冲雷达 vs FMCW 雷达)
  • 【直流微电网保护】【本地松弛母线、光伏系统、电池和直流负载】【光伏系统使用标准的光伏模型+升压变换器】【电池使用标准的锂离子电池模型+双有源桥变换器】附Simulink仿真
  • 2025.12.31日21:10-repent后悔, 悔改, 忏悔, 悔悟
  • 【状态估计】基于FOMIAUKF、分数阶模块、模型估计、多新息系数的电池SOC估计研究附Matlab代码
  • 【植物检测】基于对称的作物田三维点云植物检测研究附Matlab代码
  • 实用指南:【Spring Boot】Spring 魔法世界:Bean 作用域与生命周期的奇妙之旅
  • 具身智能@2025:「人机共生」前夜
  • session、cookie、token的深度解析:身份认证的核心逻辑
  • 2025 零代码 AI 落地神器曝光
  • 探索 10bit 100MS/s 流水线Pipelined ADC电路:0.18um工艺下的宝藏学习资源
  • 【语音分离】基于平均谐波结构建模的无监督单声道音乐声源分离附Matlab代码
  • 【轴承故障诊断】基于融合鱼鹰和柯西变异的麻雀优化算法OCSSA-VMD-CNN-BILSTM轴承诊断研究【西储大学数据】附Matlab代码
  • 【值得收藏】智能体(Agent)入门到精通:大模型应用开发的终极指南
  • 【破局游戏体验困局:openinstall能助力App实现什么?】
  • 一文读懂脸书创作者的赚钱通道
  • 【轴承故障诊断】加权多尺度字典学习模型(WMSDL)及其在轴承故障诊断上的应用附Matlab代码
  • AI驱动的企业创新项目管理:敏捷方法与AI的结合
  • 油管十大盈利方式,看你错过了哪些?
  • AI浪潮下的大模型学习宝典:程序员必看,高薪算法岗转型指南,建议收藏!
  • Flowjo 流式细胞分析软件介绍
  • 智能测试数据生成:提高测试效率与覆盖率
  • 牛批了,磁盘清理神器
  • 【直流电动机】基于matlab simulink直流电动机的电源控制器设计附Matlab代码
  • 二维码生成器深度评测研究报告(2025)