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

题解:洛谷-P8548 小挖的买花

挺明显的一道板子题。

题目大意

就是普通的二维费用背包,只是会给出 \(q\) 个询问,每个询问给出一个总价格和一个总新鲜值
我们需要求出在不同的要求下可以获得的最大美丽值

题目分析

回想一下,我们在做这类题目的时候,在计算出最终的答案的过程中,我们是不是也把每个状态的最优解也算出来了?所以,我们可以直接进行一次这样的预处理以获得全部状态的最优解,接下来输出就行了。

动态规划预处理

由于有两个需要注意的量,我们把动态规划数组设为两维的。

\(f_{i,j}\) 为使用 \(i\) 费用,新鲜值为 \(j\) 时的最大美丽值。易得方程:

\[f_{i,j}=\max(f_{i,j},f_{{i-cost_k},{j-fr_k}}+be_k) \]

代码实现

#include<bits/stdc++.h>
#define int long long
using namespace std;
int n,m,f[1005][1005],tmp1,tmp2;
struct str{int cost,fr,be;
}q[505];
signed main()
{scanf("%lld%lld",&n,&m);//输入数据for(int j=0;j<=500;j++){for(int k=1;k<=500;k++) f[j][k]=-0x7fffffff;}for(int i=1;i<=n;i++) scanf("%lld%lld%lld",&q[i].cost,&q[i].fr,&q[i].be);for(int i=1;i<=n;i++)//动态规划预处理{for(int j=500;j>=q[i].cost;j--){for(int k=500;k>=0;k--) f[j][k]=max(f[j][k],f[j-q[i].cost][max(k-q[i].fr,0ll)]+q[i].be);//这里,我们不能直接将k定到q[i].fr以达到无需特判的效果,因为如果它小于0的话我们可以直接使用0的状态进行转移(血的教训呜呜呜)}}for(int i=1;i<=m;i++)//输出答案{scanf("%lld%lld",&tmp1,&tmp2);printf("%lld",max(0ll,f[tmp1][tmp2]));if(i!=m)printf("\n");}return 0;
}
http://www.hskmm.com/?act=detail&tid=33770

相关文章:

  • QT从入门到放弃
  • 【光照】UnityURP为什么要[Gamma矫正]?
  • 2025年国内木饰面板品牌Top10权威排名及选购指南
  • 2025年国内木饰面板品牌前十排名及产品选择权威指南
  • 2025年市面上工程石材品牌与供应商深度解析:四川汇才石业领跑优质选择
  • 2025年市面上工程石材品牌、产品与工厂终极指南:聚焦四川汇才石业有限公司
  • 2025年市面上工程石材品牌与国内优质厂家深度解析——四川汇才石业有限公司引领行业
  • 鸡兔同笼问题
  • 2025年市面上镀锌桥架供应商与国内制造商优质厂家排名前十解析
  • 2025年市面上镀锌桥架供应商前十强权威评测
  • JVM配置常用命令有哪些
  • 冬日绘版校徽上角色征集
  • 2025 年储罐厂家最新推荐榜,技术实力与市场口碑深度解析衬四氟/硫酸/盐酸储罐厂家推荐
  • Remainder game
  • ResNet网络
  • 复旦附中英语期中考卷错题分析
  • expectation后面的固定搭配
  • 【转】[C#] .net core 项目的目标框架设置
  • nextcloud安装部署与升级
  • 2025 年切纸机厂家最新推荐榜,技术实力与市场口碑深度解析双蜗轮/程控/液压/大型切纸机厂家推荐
  • 2025 年不锈钢板厂家最新推荐排行榜:聚焦头部企业竞争优势与选购要点解析
  • 2025 年台球桌厂家最新推荐榜,技术实力与市场口碑深度解析
  • 在运维工作中,在k8s集群使用命令查看etcd集群状态
  • 还在发愁怎么配置VSCode?一篇文章教会你!
  • 鸿蒙设备开发-环境搭建
  • git使用手册
  • 常见的动态规划模型的初始化总结
  • GCD Tables
  • 星际争霸1 EUD漏洞利用技术解析
  • 实现更公平的机器学习技术探索