CSP 2019 第三题:纪念品
CSP 2019 第三题纪念品题目链接题目题意数据给出能预测的天数纪念品种类持有金币。每天对金币进行买卖求买卖后的金币最大值如何赚得更多知识点考动态规划思路按照题意能够知道赚得最多就是保证每天都赚最多就行。最简单想法就是第二天根据某纪念品的涨幅先买涨价最多的如果持有金币还有就继续买涨价次之的币种可以结构体排序然后根据剩余一次购买。这个方法真的很贪心每次都是买“性价比”最高的但是这个方法只能局部最优举个例子我有100元某个纪念品初值25元能赚6元另一个纪念品初值20元能赚5元。按照贪心算法定是要买赚8元的只赚6424元但是如果我买初值20元的就是5*525。所以这个时候看出来明显不是最优的。所以贪心算法求最值问题时不一定能办到全部最优个别样例倒是能过。涉及最值问题存在重叠子问题时优先想到用动态规划来做。物品可选一个或者多个是完全背包板子用得上唯一加了点难度就是同一天交易的物品是多个dp[j]表示第i天金币为j时的交易所得最大值因此只需要再完全背包基础上再遍历当天的所有物品金币为j时若“再买一次该纪念品”判断是买当前纪念品是否能“赚钱”状态转移方程-明确状态每天根据买卖金币会变化根据金币大小选择买不买当天纪念品-明确选择每天选择买卖时通常是判断买某个纪念品后的利润买之前持有金币的利润是否变大每次买一个纪念品这样遍历时就能判断是买纪念品A还是买纪念品B划算而不是以为的买涨幅最大的纪念品-明确数组或者dp函数定义所以置数组dp[i]一维数组放每天金币为i时能求的利润最值就行数据约束数据相对比较小注意数组范围100就行代码注意如果是边输入数据边处理是否购买那么i一定是从1开始并且要处理第0排的数据(第一天不可能会产生利润)否则一开始dp数据就会不准确如果输入完数据遍历时i就从第二排开始就行最后每行处理完要初始化我们的dp数组参考代码#includebits/stdc.h#defineMAX_N105usingnamespacestd;inta[MAX_N][MAX_N];//动态规划思想处理intdp[10005]{0};//结果只和金币m有关,dp[i]表示持有i个金币时利润最大值intmain(){intt,n,m;cintnm;memset(a,0x3f,sizeof(a));//也可以不初始化但是后面第一行不赚钱需要特判for(inti1;it;i){for(intj1;jn;j){cina[i][j];intk0a[i][j]-a[i-1][j];//差值0有利润才做记录if(k00){for(intpa[i-1][j];pm;p){//至少要a[i-1][j]个金币才能购买记录最低需要的金币到金币m区间买该金币后的收益dp[p]max(dp[p],dp[p-a[i-1][j]]k0);//买之前的利润(当前金币下的最有买法)和买之后的利润做对比}}}mdp[m];// 初始化结构体memset(dp,0,sizeof(dp));//每一行遍历完后就重置数组}coutm;return0;}贪心算法试了一下果然是样例很多不会过仅35%不能AC贪心算法如下#includebits/stdc.h#defineMAX_N105usingnamespacestd;inta[MAX_N][MAX_N];//定义一个结构体数组储存金币差值和上一天的金币价格 金币遍历从差值最高的开始structstu{intk;//记录差值intm0;}s[MAX_N];intcmp(stu st1,stu st2){returnst1.kst2.k;}intmain(){intt,n,m,mm1e4;//mm存储一行的最小值cintnm;// 处理第0排数据memset(a,1e4,sizeof(a));for(inti1;it;i){for(intj1;jn;j){cina[i][j];if(j-10){intk0a[i][j]-a[i-1][j];//差值0才做记录if(k00){s[j].kk0;//差值s[j].m0a[i-1][j];//上一个数据的值if(a[i-1][j]mm)mma[i-1][j];}}}sort(s1,sn,cmp);intnum0,earn0;//赚到的最多的金币可能还能买到的intbeleftm,p1;while(beleftmmpn){if(belefts[p].m0s[p].k0){numbeleft/s[p].m0;earnnum*s[p].k;beleft-num*s[p].m0;}p;}mearn;mm1e4;//初始化;// 初始化结构体memset(s,0,sizeof(s));}coutm;return0;}

相关新闻

PhysX刚体系统深度解析:从Actor到Shape

PhysX刚体系统深度解析:从Actor到Shape

PhysX 中,一个“物理对象”通常不是单独的类,而是几个对象共同组成的: Actor:物理身份与运动状态│├─ Shape:碰撞形状实例│ ├─ Geometry:几何描述│ ├─ Material:摩擦、恢复系数│ ├─ Local Pose:相对 Actor 的位姿│ └─ Filter / Flags:碰撞…

2026/10/10 9:55:22 阅读更多 →
October CMS Scoreboard 组件完全指南:在 Laravel 后端界面构建数据总览看板

October CMS Scoreboard 组件完全指南:在 Laravel 后端界面构建数据总览看板

CMS后端前端 【免费下载链接】october Self-hosted CMS platform based on the Laravel PHP Framework. 项目地址: https://gitcode.com/gh_mirrors/oc/october 点击查看 免费下载 本指南以 October CMS 后台 system 模块内置的 Scoreboard(记分板&…

2026/10/10 15:48:15 阅读更多 →
PhysX 一帧模拟的真实工作:流程、作用与职责

PhysX 一帧模拟的真实工作:流程、作用与职责

从应用层看,PhysX 一步模拟通常只有: scene->simulate(dt); scene->fetchResults(true);但内部完成的是一个完整的数据处理过程:读取当前物理状态和游戏输入,发现物体之间的交互,将接触和关节转化为约束&#xf…

2026/10/10 14:28:08 阅读更多 →

最新新闻

微服务多级缓存架构设计

微服务多级缓存架构设计

1 需求背景系统读多写少场景,大量热点字典、基础业务信息,请求全部打到 Redis,Redis CPU / 带宽压力高。 引入本地内存缓存,缩短访问链路;同时解决多实例本地缓存脏数据问题。非目标不用于强一致性业务(库存…

2026/10/11 16:38:47 阅读更多 →
安全日志分析实战:从撞库、Webshell到横向移动的攻击链还原方法

安全日志分析实战:从撞库、Webshell到横向移动的攻击链还原方法

做安全运营这些年,我翻过的日志如果打印出来,大概能堆满一整面墙。网络攻击日志分析这件事,听起来很高大上,实际干起来往往是从一堆看似无关的字符里,把攻击者的行动轨迹一点点抠出来。你盯着几十万行访问记录&#xf…

2026/10/11 16:38:47 阅读更多 →
从SEO到GEO:AI时代企业为什么需要建立品牌知识资产?

从SEO到GEO:AI时代企业为什么需要建立品牌知识资产?

随着生成式AI快速进入企业营销体系,传统的搜索流量逻辑正在出现新的变化。 世界广告主联合会(WFA)最新调研显示,96%的受访大型品牌已经在使用生成式AI或智能体AI。 对于企业数字化团队而言,一个值得关注的问题是&#…

2026/10/11 16:38:47 阅读更多 →
beautify-github-readme 内容架构教程:价值→证明→机制,5 步重排 README 阅读顺序

beautify-github-readme 内容架构教程:价值→证明→机制,5 步重排 README 阅读顺序

【免费下载链接】beautify-github-readme 整理并设计仓库 README,让项目价值、真实案例、安装方式与使用边界更容易理解。 项目地址: https://gitcode.com/gh_mirrors/be/beautify-github-readme 点击查看 免费下载 很多开源仓库不缺信息,缺…

2026/10/11 16:38:46 阅读更多 →
SpringBoot+Vue宠物健康咨询系统:前后端分离项目完整部署与二次开发指南

SpringBoot+Vue宠物健康咨询系统:前后端分离项目完整部署与二次开发指南

最近好几个人问我要这种“能直接跑起来的完整项目”,点名还是要SpringBoot加Vue那一套。这里就把一个宠物健康咨询信息管理系统的完整实现思路、技术方案和部署过程拿出来聊聊。如果你是准备做毕业设计,或者是想快速上手前后端分离的项目练手&#xff0c…

2026/10/11 16:38:46 阅读更多 →
AI File Sorter Headless 无界面集成完全指南:CLI 参数、状态 JSON 与并发锁一次讲清

AI File Sorter Headless 无界面集成完全指南:CLI 参数、状态 JSON 与并发锁一次讲清

AI 应用大模型本地部署桌面应用 【免费下载链接】ai-file-sorter Cross-platform desktop application for content-aware file organization and renaming. Supports local and remote LLMs, preview-based workflows, and fully user-controlled changes. 项目地址&#xff1…

2026/10/11 16:37:46 阅读更多 →

日新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/11 0:00:27 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/11 0:00:27 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/11 0:00:27 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/11 0:00:27 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/11 0:00:27 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/11 0:00:27 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/11 10:45:37 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/11 14:36:53 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/11 14:36:54 阅读更多 →