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

洛谷 B3629:吃冰棍 ← 两种模拟法

【题目来源】
https://www.luogu.com.cn/problem/B3629

【题目描述】
机器猫喜欢吃冰棍。
买一根冰棍,吃完了会剩一个木棒;每三个木棒可以兑换一个冰棍。兑换出来的冰棍,吃完之后也能剩下一个木棒。
所以,如果机器猫买了 5 根冰棍,他可以吃完之后得到 5 个木棒;拿 3 个木棒兑换 1 根冰棍,余 2 个木棒;吃完兑换来的冰棍之后,手上有 3 个木棒,又能兑换一个冰棍。最后,机器猫实际上吃了 7 个冰棍。
机器猫想要吃到 n 个冰棍,想问最开始
至少需要去买多少根冰棍?

【输入格式】
仅一行,一个正整数,表示 n。

【输出格式】
仅一行,一个正整数,表示需要买的冰棍数量。

【输入样例1】
7

【输出样例1】
5

【输入样例2】
20

【输出样例2】
14

【数据规模与约定】
对于 100% 的数据,1≤n≤
10^8

【算法分析】
● 本题可以用二分法实现,详见:
https://blog.csdn.net/hnjzsyjyj/article/details/144309226
二分法是一种基于‌分治思想‌的高效搜索算法,通过‌两段性划分逐步缩小搜索范围,其核心优势在于将时间复杂度从 O(n) 降至。两段性指区间能被划分为‌两个互补部分‌:一部分满足特定条件,另一部分不满足。二分法的核心在于‌利用两段性快速缩小搜索范围‌,与单调性无必然联系,单调性仅是两段性的特例之一。

● 本题还有相当简单的解法,即通过推导发现规律求解。
设最终吃到的冰棍总数为 n,最初至少购买的冰棍儿数量为 x。
由于每兑换 1 根冰棍儿需消耗 3 木棒,而这根儿兑换而得的冰棍儿的木棒还要留下来,故每兑换一根冰棍儿净消耗 2 木棒。则可得:

n=x+⌊x/2​⌋,即 n=⌊3x/2​⌋。据此,可得x=⌈2n/3​⌉,即 x=2n/3+1,等价于x=(2n+3)/3

【算法代码一】

#include <iostream> using namespace std; int main() { int n; cin>>n; cout<<(2*n+3)/3<<endl; return 0; } /* in: 20 out: 14 */

【算法代码二】

#include <bits/stdc++.h> using namespace std; int main() { int n; cin>>n; if(n==1) cout<<1<<endl; if(n==2) cout<<2<<endl; if(n%3==0 || n%3==1) cout<<n/3*2+1<<endl; if(n%3==2) cout<<n/3*2+2<<endl; } /* in:7 out:5 */



【参考文献】
https://blog.csdn.net/hnjzsyjyj/article/details/144309226
https://blog.csdn.net/hnjzsyjyj/article/details/144146636
https://blog.csdn.net/yymer214/article/details/143456263
https://www.luogu.com.cn/problem/P1304
https://www.luogu.com.cn/problem/B3629

http://www.jsqmd.com/news/1335285/

相关文章:

  • 如何3步掌握Pixel-Composer:零代码像素艺术特效创作完整指南
  • 2026年重庆汽车贴膜口碑实测 膜手世家贴膜改装工厂店体验 - 互联网科技品牌测评
  • 如何在5分钟内为你的PS4游戏解锁1490种作弊体验?GoldHEN Cheats Manager终极指南
  • AI技术全景图深度解构(含Gartner 2024技术成熟度曲线校准版):仅限前500名技术负责人获取的架构选型决策矩阵
  • 告别繁琐系统管理!WinUtil:Windows优化与软件部署的一站式解决方案
  • 为什么给了电阻就会 有电压?
  • LGTV Companion:OLED电视智能联动终极指南,一键解决PC显示器同步难题
  • AI写公司简介不是“一键生成”,而是“三重校验”:技术层+传播层+法务层缺一不可
  • 终极Codex技能安装器:一键扩展你的AI助手工具箱
  • 【限时免费】 释放CLIP-ViT-B-16-laion2B-s34B-b88K的全部潜力:一份基于官方推荐的微调指南
  • 从论文到代码:Granite-TimeSeries-PatchTST-FM-r1核心技术原理解读
  • 2026德国KP中压冷缩电缆头经销商选择之道:真实样本拆解,选对少走弯路 - 互联网科技品牌测评
  • 如何通过HACS解决Home Assistant自定义组件管理的5个核心痛点
  • 终极指南:3步快速上手NickelMenu,彻底解放你的Kobo阅读器!
  • 2026年高德地图价格全景解析:从定价逻辑到服务商横评,一篇讲透避坑指南 - 品牌报告
  • Mermaid Live Editor:从文本到可视化的革命性编辑体验
  • 2026年上海文武学校家长择校攻略:少儿武术培训与体能训练基地推荐 - 圣龙武术朱老师
  • 为什么你的AI文案总被用户划走?曝光率暴跌41%的3个隐性信号及实时优化工具链
  • Nuke Survival Toolkit:150+免费Nuke插件包,彻底改变你的特效制作工作流
  • 德国KP中压冷缩电缆头哪家靠谱?2026真实数据整理,选购不踩雷 - 互联网科技品牌测评
  • VeraCrypt终极指南:5分钟掌握免费开源磁盘加密完整流程
  • 如何高效完成图片文字识别:Umi-OCR免费离线批量处理终极指南
  • Mamba未来展望:2025年值得关注的5大研究方向
  • 北京博亚信诚科技联系方式? - 17328623207
  • AJ-Captcha终极指南:5分钟快速集成开源行为验证码,保护你的应用安全
  • 乌鲁木齐玻璃塑料耗材选哪家?本地企业主推荐的采购指南 - 米諾
  • 如何重新掌握你的数字记忆主权:WeChatMsg微信聊天记录永久保存指南
  • 大模型初探:小白程序员必备的收藏指南,轻松入门AI新世界!
  • 为什么你的AI韩语APP总在“ㅂ/ㅍ”音上翻车?语音识别底层声谱图缺陷大揭秘
  • 乌鲁木齐玻璃塑料耗材怎么选?本地采购指南揭秘优质供应商 - 米諾