尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
csp信奥赛C++高频考点专项训练:【二分答案】案例2:木材加工
csp信奥赛C高频考点专项训练【二分答案】案例2木材加工题目描述木材厂有n nn根原木现在想把这些木头切割成k kk段长度均为l ll的小段木头木头有可能有剩余。当然我们希望得到的小段木头越长越好请求出l ll的最大值。木头长度的单位是cm \text{cm}cm原木的长度都是正整数我们要求切割得到的小段木头的长度也是正整数。例如有两根原木长度分别为11 1111和21 2121要求切割成等长的6 66段很明显能切割出来的小段木头长度最长为5 55。输入格式第一行是两个正整数n , k n,kn,k分别表示原木的数量需要得到的小段的数量。接下来n nn行每行一个正整数L i L_iLi​表示一根原木的长度。输出格式仅一行即l ll的最大值。如果连1cm \text{1cm}1cm长的小段都切不出来输出0。输入输出样例 1输入 13 7 232 124 456输出 1114说明/提示对于100 % 100\%100%的数据有1 ≤ n ≤ 10 5 1\le n\le 10^51≤n≤1051 ≤ k ≤ 10 8 1\le k\le 10^81≤k≤1081 ≤ L i ≤ 10 8 ( i ∈ [ 1 , n ] ) 1\le L_i\le 10^8(i\in[1,n])1≤Li​≤108(i∈[1,n])。AC代码#includebits/stdc.husingnamespacestd;constintN1e510;intn,k,a[N],ans;// ans保存最终结果初始为0符合题目要求的无法切割情况输出0// 检查能否将原木切割成至少k段每段长度为xboolcheck(intx){intcnt0;for(inti1;in;i){cnta[i]/x;// 当前原木可切割出的段数}returncntk;// 总段数是否满足需求}intmain(){cinnk;for(inti1;in;i)cina[i];intl1,r1e8,mid;// 二分查找的初始左右边界最大可能长度为1e8// 二分查找寻找最大可行长度while(lr){mid(lr)/2;if(check(mid)){// 当前长度可行尝试更大的长度ansmid;// 更新答案lmid1;}else{// 当前长度不可行减小长度rmid-1;}}coutans;// 输出结果若无法切割则为初始值0return0;}功能分析该程序使用二分查找算法确定能够切割出k段等长木头的最大可能长度。具体步骤如下输入处理读取原木数量n和目标段数k以及每根原木的长度。二分查找初始化设定初始左边界为1最小可能长度右边界为1e8最大可能长度。检查函数check计算给定长度x下所有原木能切割出的总段数判断是否满足至少k段的需求。二分过程不断调整左右边界寻找满足条件的最大长度。若当前中间值可行则尝试更大的长度否则减小长度。结果输出最终输出找到的最大长度若无法满足条件则输出初始值0。该算法高效处理了大范围数据时间复杂度为O(n log(maxL))适用于题目给定的数据规模。完整信奥赛C普及组CSP-J一等奖通关刷题题单及题解请关注专栏https://blog.csdn.net/weixin_66461496/category_12673810.html 点击跳转【秘籍汇总】完整csp信奥赛C学习资料1、csp/信奥赛C完整信奥赛系列课程永久学习https://edu.csdn.net/lecturer/7901 点击跳转2、CSP信奥赛C竞赛拿奖视频课https://edu.csdn.net/course/detail/40437 点击跳转https://edu.csdn.net/course/detail/41081 点击跳转3、csp信奥赛高频考点知识详解及案例实践CSP信奥赛C动态规划https://blog.csdn.net/weixin_66461496/category_13096895.html点击跳转CSP信奥赛C标准模板库STLhttps://blog.csdn.net/weixin_66461496/category_13108077.html 点击跳转信奥赛C提高组csp-s知识详解及案例实践https://blog.csdn.net/weixin_66461496/category_13113932.html 点击跳转4、csp信奥赛冲刺一等奖有效刷题题解信奥赛C普及组CSP-J一等奖通关刷题题单及题解https://blog.csdn.net/weixin_66461496/category_12673810.html 点击跳转信奥赛C普及组csp-j初赛复赛真题题解持续更新https://blog.csdn.net/weixin_66461496/category_12808781.html 点击跳转信奥赛C提高组csp-s初赛复赛真题题解持续更新https://blog.csdn.net/weixin_66461496/category_13125089.html 点击跳转5、GESP C考级真题题解GESP(C 一级二级三级)真题题解持续更新https://blog.csdn.net/weixin_66461496/category_12858102.html 点击跳转GESP(C 四级五级六级)真题题解持续更新https://blog.csdn.net/weixin_66461496/category_12869848.html 点击跳转GESP(C 七级八级)真题题解持续更新https://blog.csdn.net/weixin_66461496/category_13117178.html 点击跳转· 文末祝福 ·#includebits/stdc.husingnamespacestd;intmain(){cout跟着王老师一起学习信奥赛C;cout 成就更好的自己 ;cout csp信奥赛一等奖属于你! ;return0;}
RELATED

相关推荐

【Copilot Teams会议总结黄金配置清单】:微软M365高级架构师内部流出的12项策略,限时公开48小时

【Copilot Teams会议总结黄金配置清单】:微软M365高级架构师内部流出的12项策略,限时公开48小时

更多请点击: https://codechina.net 第一章:Copilot Teams 会议总结黄金配置清单总览 Copilot for Microsoft Teams 会议总结功能依赖于精准的权限、策略与服务集成配置。启用高质量自动纪要生成,需同步校准 Teams 客户端版本、Microsoft Gr…

📅 2026/9/4 16:42:58
杭州室内设计工作室厂家

杭州室内设计工作室厂家

在杭州,改善型住宅客户常常面对一个尴尬的现状:看了一圈设计公司,要么是套餐公司拼命推销“免费设计”,要么是独立设计师只出方案不管你落地,还有那种整装公司一张效果图走天下,住进去才发现动线别扭、收纳…

📅 2026/10/5 15:25:51
RN2025计量芯片全自动自检方案详解

RN2025计量芯片全自动自检方案详解

目录 一、整体定义与核心原理 1. 什么是 RN2025 计量自检测 2. 底层核心实现原理 (1)基准溯源原理(自检根本) (2)ADC 自校正原理 (3)计量引擎闭环自检原理 (4&…

📅 2026/9/4 16:47:19
MORE NEWS

更多资讯

📰

设计模式核心解析:六大原则、UML类图与五个高频模式

简介:王桂林撰写的《设计模式》PDF文档,面向希望系统掌握设计模式的软件开发者与在校学生。内容从设计模式的历史渊源讲起,介绍克里斯托弗亚历山大提出的模式语言以及GOF四位作者的经典著作,并系统讲解模式名称、问题、解决方案、…

📰

Java基础面试核心:JVM运行机制与高频易混概念详解

简介:一份面向Java后端与校招面试人群的2025版Java基础高频考题整理,聚焦虚拟机运行机制、字节码跨平台原理、JDK与JRE职责差异、Java与C在内存管理与继承上的区别,以及“编译与解释并存”等易混淆知识点,并梳理了从源代码到字节码…

📰

OLT配置手册实战:FTTx六类组网、语音组播与E1专线避坑

简介:华为OLT配置手册为华为公司发布的OLT设备配置指南,面向网络管理员、接入网工程师及备考相关认证的技术人员,帮助读者厘清OLT在宽带接入与业务承载中的配置逻辑。内容以实操示例为主线,专线部分覆盖QinQ VLAN、VLAN Stacking批…

📰

AI前沿 | 2026年10月24日:OpenAI 把前沿训练关进离线笼子——DNS 越界、11 天停摆与 Brotli 高危漏洞

AI前沿 | 2026年10月24日:OpenAI 把前沿训练关进离线笼子——DNS 越界、11 天停摆与 Brotli 高危漏洞 📖 首屏导读 本教程配套付费专栏:《大模型工程师修炼手记》 19.9 元(AI 编程 Agent 实战 本文同主题系统课程) …

📰

AI前沿 | 2026年10月24日:OpenAI 开放 Decisions API,输入每百万 Token 仅 0.1 美元——AI 开始“卖决定”而不是“卖建议”

AI前沿 | 2026年10月24日:OpenAI 开放 Decisions API,输入每百万 Token 仅 0.1 美元——AI 开始“卖决定”而不是“卖建议” 📖 首屏导读 本教程配套付费专栏:《大模型工程师修炼手记》 19.9 元(AI 编程 Agent 实战 …

📰

Ubuntu 18.04.6 装机排坑:Rufus、分区与网卡驱动

简介:这份PDF面向初次安装Ubuntu 18.04.6的个人用户、运维人员和装机爱好者,聚焦系统部署阶段常见故障的排查与解决。内容围绕启动盘制作、自定义分区、特定硬件驱动适配及常用软件安装展开,涵盖UEFI与MBR两种启动场景,并针对联想…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬