news 2026/8/2 4:52:03

CSP-J 2019 纪念品 题解

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
CSP-J 2019 纪念品 题解

题目概要

题目传送门.
已知T天内N种物品的价格,以及开始时拥有M枚金币,每天可以当日价格或卖出物品,问T天后最多可以拥有多少枚金币?

数据分析

考场骗分

很明显,T=1时,初始金币数即为最终金币数,相信大家都会,此处就不单独给代码了。

当N=1时,这个问题变成了一个很基础很基础的贪心

以下为正解

此时我们注意到有15%的测试点是T=2,我们分析了这个情况之后,就会发现这其实是一个完全背包的模版:背包容量为手里的钱数,物品价值为差价,物品体积为物品价格

当T大于等于2时,我们就需要对每一天进行一次完全背包,将结果相加即为最终的答案

以下为完整代码

#include<bits/stdc++.h>usingnamespacestd;intn,m,t;intp[105][105];// 全局dp,避免栈溢出intdp[100005];voidcheck1(){intans=m;for(inti=0;i<t-1;i++)// 最多到t-2天{if(p[i+1][0]>p[i][0]){intcnt=ans/p[i][0];ans=ans%p[i][0]+cnt*p[i+1][0];}}cout<<ans;}voidcheck2(){memset(dp,0,sizeof(dp));for(inti=0;i<n;i++){intcost=p[0][i];intv=p[1][i]-cost;if(v<=0)continue;for(intj=cost;j<=m;j++){dp[j]=max(dp[j],dp[j-cost]+v);}}cout<<m+dp[m];}voidcheck3(){for(intday=0;day<t-1;day++)//对每一天进行遍历{memset(dp,0,sizeof(dp));for(inti=0;i<n;i++)//完全背包{intcost=p[day][i];intv=p[day+1][i]-cost;if(v<=0)continue;for(intj=cost;j<=m;j++){dp[j]=max(dp[j],dp[j-cost]+v);}}m+=dp[m];}cout<<m;}intmain(){cin>>t>>n>>m;for(inti=0;i<t;i++){for(intj=0;j<n;j++){cin>>p[i][j];}}if(t==1)//特殊情况1{cout<<m;return0;}if(n==1)//特殊情况2:贪心{check1();return0;}if(t==2)//特殊情况3:背包{check2();return0;}check3();//正解return0;}

本人第一篇题解,如有错误,请各位大佬支出

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/2 4:51:34

C#程序脱壳实战:使用de4dot与dnSpy逆向分析.NET混淆代码

1. 项目概述&#xff1a;当C#程序穿上“马甲”在软件开发和安全的交叉领域&#xff0c;逆向工程一直是一个充满挑战又极具魅力的方向。对于C#这类基于.NET框架的语言&#xff0c;由于其代码最终会被编译为中间语言&#xff0c;理论上比原生机器码更易于阅读&#xff0c;因此催生…

作者头像 李华
网站建设 2026/8/2 4:50:28

软件测试常见的十三个问题

软件测试常见的十三个问题 第一&#xff0c;接口测试的流程是什么样的。 第二&#xff0c;没有接口文档&#xff0c;如何开展接口测试。第三&#xff0c;接口响应常用的状态码有哪些&#xff1f;分别是什么意思&#xff1f; 第四&#xff0c;接口测试怎么设计用例和UI测试用例有…

作者头像 李华
网站建设 2026/8/2 4:48:43

别再靠猜了:给 Cloudflare Worker 加上日志,问题一眼就知道

&#x1f4dd; 本文首发于 栏轩阁 欢迎访问阅读原文&#xff0c;获取更好的阅读体验。 什么是 Workers Logs Workers Logs 是 Cloudflare 为 Workers 提供的内置日志服务。你在代码里写 console.log&#xff0c;输出会自动采集到 Cloudflare 仪表盘&#xff0c;无需额外配置日…

作者头像 李华
网站建设 2026/8/2 4:44:41

STM32+ESP8266物联网时钟:NTP校时、语音播报与模块化开发实践

1. 项目概述与核心价值最近在整理工作室的旧项目&#xff0c;翻出了一个几年前做的智能时钟&#xff0c;功能挺全&#xff1a;能通过Wi-Fi自动从网络对时&#xff0c;还能在整点用语音播报时间&#xff0c;时间显示亮度可以自己调节。当时用的是STM32做主控&#xff0c;ESP8266…

作者头像 李华
网站建设 2026/8/2 4:40:12

从GLM-5.3社区呼声看视觉语言模型(VLM)的核心需求与技术挑战

1. 项目概述&#xff1a;一场关于AI模型进化的全民共创最近&#xff0c;AI圈子里发生了一件挺有意思的事儿。智谱AI的CEO唐杰教授在社交媒体上发起了一个公开讨论&#xff0c;主题是“GLM-5.3你来定&#xff01;”。简单来说&#xff0c;就是智谱准备启动下一代大语言模型GLM-5…

作者头像 李华
网站建设 2026/8/2 4:35:38

洛谷P5662纪念品一题 的题解

由于此题是CSP-J考场上的一道题&#xff0c;我们不妨先假设自己是一名菜鸟考生&#xff0c;用一些比较新鲜的角度去做题。 正文 考试时会先干嘛呢&#xff1f;那一定是去看数据范围。CSP比GESP好的点就在于它不会让你输得太难看&#xff0c;总有几分是你水得到的。显然这里有10…

作者头像 李华