news 2026/5/1 11:05:13

GESP认证C++编程真题解析 | B3873 [GESP202309 六级] 小杨买饮料

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
GESP认证C++编程真题解析 | B3873 [GESP202309 六级] 小杨买饮料

​欢迎大家订阅我的专栏:算法题解:C++与Python实现!
本专栏旨在帮助大家从基础到进阶 ,逐步提升编程能力,助力信息学竞赛备战!

专栏特色
1.经典算法练习:根据信息学竞赛大纲,精心挑选经典算法题目,提供清晰的代码实现与详细指导,帮助您夯实算法基础。
2.系统化学习路径:按照算法类别和难度分级,从基础到进阶,循序渐进,帮助您全面提升编程能力与算法思维。

适合人群:

  • 准备参加蓝桥杯、GESP、CSP-J、CSP-S等信息学竞赛的学生
  • 希望系统学习C++/Python编程的初学者
  • 想要提升算法与编程能力的编程爱好者

附上汇总帖:GESP认证C++编程真题解析 | 汇总


【题目来源】

洛谷:[B3873 GESP202309 六级] 小杨买饮料 - 洛谷

【题目描述】

小杨来到了一家商店,打算购买一些饮料。这家商店总共出售N NN种饮料,编号从0 00N − 1 N-1N1,其中编号为i ii的饮料售价c i c_ici元,容量l i l_ili毫升。

小杨的需求有如下几点:

  1. 小杨想要尽可能尝试不同种类的饮料,因此他希望每种饮料至多购买1 11瓶;
  2. 小杨很渴,所以他想要购买总容量不低于L LL的饮料;
  3. 小杨勤俭节约,所以在1 112 22的前提下,他希望使用尽可能少的费用。

方便起见,你只需要输出最少花费的费用即可。特别地,如果不能满足小杨的要求,则输出no solution

【输入】

第一行两个整数N , L N,LN,L

接下来N NN行,依次描述第i = 0 , 1 , ⋯ , N − 1 i=0,1,\cdots,N-1i=0,1,,N1种饮料:每行两个整数c i , l i c_i,l_ici,li

【输出】

输出一行一个整数,表示最少需要花费多少钱,才能满足小杨的要求。特别地,如果不能满足要求,则输出no solution

【输入样例】

5 100 100 2000 2 50 4 40 5 30 3 20

【输出样例】

9

【算法标签】

《洛谷 B3873 小杨买饮料》 #动态规划DP# #背包DP# #GESP# #2023#

【代码详解】

#include<bits/stdc++.h>usingnamespacestd;constintN=505;// 最大物品数量constintINF=0x3f3f3f3f;// 定义无穷大intn,L;// n: 物品数量, L: 最小需要的长度intc[N],l[N];// c[i]: 第i个物品的价格, l[i]: 第i个物品的长度intdp[1000005];// dp[j]: 总长度至少为j时的最小花费intmain(){// 输入物品数量和需要的最小长度cin>>n>>L;// 输入每个物品的价格和长度for(inti=1;i<=n;i++){cin>>c[i]>>l[i];}// 初始化dp数组为无穷大memset(dp,0x3f,sizeof(dp));dp[0]=0;// 总长度为0时的最小花费为0// 动态规划:0-1背包的变形(至少型背包)for(inti=1;i<=n;i++)// 遍历每个物品{for(intj=1000000;j>=l[i];j--)// 从大到小遍历,保证每个物品只用一次{// 状态转移方程:// 不选当前物品:dp[j] 保持不变// 选当前物品:dp[j-l[i]] + c[i]// 取两者最小值dp[j]=min(dp[j],dp[j-l[i]]+c[i]);}}// 在满足长度至少为L的所有方案中寻找最小花费intans=INF;for(inti=L;i<=1000000;i++){ans=min(ans,dp[i]);}// 输出结果if(ans==INF){// 没有找到满足条件的方案cout<<"no solution"<<endl;}else{// 输出最小花费cout<<ans<<endl;}return0;}

【运行结果】

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

FaceFusion人脸融合过程可暂停恢复,任务管理更便捷

FaceFusion人脸融合过程可暂停恢复&#xff0c;任务管理更便捷在如今的AI图像应用中&#xff0c;用户早已不再满足于“上传—等待—出图”的单向流程。尤其是在人脸融合这类耗时较长、计算密集的任务中&#xff0c;一旦开始就无法中断&#xff0c;不仅浪费资源&#xff0c;还容…

作者头像 李华
网站建设 2026/5/1 4:47:01

FaceFusion开源项目的商业化路径分析

FaceFusion开源项目的商业化路径分析 在短视频、虚拟偶像和AIGC内容爆发的今天&#xff0c;用户对个性化视觉表达的需求正以前所未有的速度增长。从“一键换脸”到“数字分身”&#xff0c;人脸编辑技术已不再是实验室里的前沿探索&#xff0c;而是直接面向消费者的产品能力。在…

作者头像 李华
网站建设 2026/5/1 0:07:36

FaceFusion模型优化秘诀:低延迟高保真的背后原理

FaceFusion模型优化秘诀&#xff1a;低延迟高保真的背后原理 在直播滤镜只需“眨个眼”就能完成换脸的今天&#xff0c;你有没有想过——那张看似自然的脸&#xff0c;是如何在几十毫秒内被精准替换、又毫无违和感地融入原视频中的&#xff1f;这背后并非简单的图像拼接&#x…

作者头像 李华
网站建设 2026/5/1 4:43:10

如何利用FaceFusion提升短视频创作效率?

如何利用FaceFusion提升短视频创作效率&#xff1f; 在短视频内容爆炸式增长的今天&#xff0c;用户对视觉新鲜感的要求越来越高。一条“你老了的样子”或“AI穿越到古代”的视频动辄获得百万播放&#xff0c;背后却不再是耗时数小时的手工后期&#xff0c;而是几行代码驱动的自…

作者头像 李华
网站建设 2026/5/1 4:46:39

FaceFusion镜像支持Windows与Linux双系统

FaceFusion镜像支持Windows与Linux双系统 在AI视觉技术飞速发展的今天&#xff0c;人脸替换已不再是实验室里的概念玩具。从短视频平台上的趣味换脸&#xff0c;到影视工业中的数字替身&#xff0c;这项技术正以前所未有的速度渗透进我们的数字生活。然而&#xff0c;真正让开发…

作者头像 李华
网站建设 2026/5/1 4:45:04

为什么90%的技术团队低估了闭源Open-AutoGLM的隐性成本?

第一章&#xff1a;为什么90%的技术团队低估了闭源Open-AutoGLM的隐性成本许多技术团队在评估闭源模型如 Open-AutoGLM 时&#xff0c;往往聚焦于其开箱即用的功能和短期部署效率&#xff0c;却忽视了长期运营中的隐性成本。这些成本不仅体现在授权费用上&#xff0c;更深层地渗…

作者头像 李华