news 2026/9/8 15:21:50

经典二分求解分巧克力

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
经典二分求解分巧克力


看题目就知道这是一道很经典的二分算法的题,给定 N 块长方形巧克力,要切出 K 个大小相同的整数边长正方形,求正方形最大边长。
知道这个我们就可以猜测边长了,每块Hi×WiH_i \times W_iHi×Wi的巧克力,能切出的正方形数量为⌊Hi/mid⌋×⌊Wi/mid⌋\lfloor H_i/mid \rfloor \times \lfloor W_i/mid \rfloorHi/mid×Wi/mid。把所有巧克力的数量加起来,如果总和≥K\ge KK,说明这个边长可行,然后就可以直接剪枝了,直接尝试更大的边长;如果边长大了再尝试更小的。
二分范围根据题目设左边界 1,右边界最大可取10510^5105
数据规模:N≤105N \le 10^5N105,二分最多 30 轮,总复杂度O(Nlog⁡(105))O(N\log(10^5))O(Nlog(105)),可以通过

解题代码

#include<iostream>#include<vector>usingnamespacestd;typedeflonglongll;constintMAXN=1e5+10;inth[MAXN],w[MAXN];intN,K;// 判断边长为x的时候,是否能切出至少K块boolcheck(intx){ll total=0;for(inti=0;i<N;i++){total+=(ll)(h[i]/x)*(w[i]/x);if(total>=K)returntrue;// 提前剪枝,防止溢出}returntotal>=K;}intmain(){ios::sync_with_stdio(false);cin.tie(nullptr);cin>>N>>K;for(inti=0;i<N;i++){cin>>h[i]>>w[i];}intl=1,r=100000;intans=0;while(l<=r){intmid=l+(r-l)/2;if(check(mid)){ans=mid;l=mid+1;// 可行,尝试更大}else{r=mid-1;// 不可行,缩小}}cout<<ans<<endl;return0;}

这个题目就是道纯二分的模板题,其实很像猜数字,这样子就好理解了。

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

2026合肥代理记账靠谱机构解析:收费标准+服务项目+选择建议

合肥中小微企业记账市场观察记账报税是企业日常经营中的基础合规工作&#xff0c;贯穿企业从成立到发展的全过程。合肥营商环境持续优化&#xff0c;市场主体数量稳步增长&#xff0c;中小微企业群体庞大&#xff0c;财税服务需求旺盛。全市代账机构数量众多&#xff0c;但行业…

作者头像 李华
网站建设 2026/9/8 15:21:33

专插本公办本科和民办本科有什么区别?

本文由育教大师专插本整理&#xff0c;仅供学生参考学习广东专插本录取的公办本科与民办本科&#xff0c;学历官方效力保持一致&#xff0c;均为国家认可的全日制统招本科学历&#xff0c;毕业证、学位证具备同等法律效力&#xff0c;可正常用于考研、考公、考证、求职落户等场…

作者头像 李华
网站建设 2026/9/8 15:21:31

2026年9月专业的GEO服务商哪家好

发布日期&#xff1a;2026年9月开篇&#xff1a;乱象丛生的GEO服务市场2026年的GEO&#xff08;生成式引擎优化&#xff09;市场&#xff0c;像极了2015年的SEO——野蛮生长、鱼龙混杂。一方面&#xff0c;豆包、DeepSeek、Kimi等AI平台已占据用户信息获取入口的60%以上&#x…

作者头像 李华
网站建设 2026/9/8 15:19:41

opencode深度体验:从配置到Skills、LSP与Playwright实战

先说实话&#xff1a;我一开始对 opencode 是带偏见的。团队里有人提议把新项目的 agent 从 claude code 换到它时&#xff0c;我的第一反应是“又一个套壳 CLI&#xff0c;换个 UI 而已”。结果用了一周后&#xff0c;我把话说收回来了——opencode 对多文件上下文、项目级配置…

作者头像 李华
网站建设 2026/9/8 15:18:46

ESP32在线烧录实战:浏览器一键刷固件,无需安装工具链

很多人刷ESP32固件&#xff0c;第一反应是装Arduino IDE或者esptool&#xff0c;命令行敲来敲去。实际场景里&#xff0c;很多时候你只是临时拿到一块板子&#xff0c;手边没有现成的烧录环境&#xff0c;或者纯粹不想为了刷一次固件去装一整套几百MB的工具链。ESP32的在线烧录…

作者头像 李华
网站建设 2026/9/8 15:14:27

三个ECC一次讲清:内存纠错、MBIST测试与SAP年结

年底那天&#xff0c;我正盯着服务器管理界面排查一条硬件告警&#xff0c;“uncorr. ECC 显示2”这行字还没看明白&#xff0c;手机又响了——财务打来的&#xff0c;说“ECC年结卡住了”。我愣了一下才反应过来&#xff0c;他说的不是内存报错&#xff0c;而是SAP ECC年结。同…

作者头像 李华