二分答案
-
二分答案:
-
基本要点:
- 二分答案就是将暴力找答案的过程变为二分找答案
- 将最优化问题转变为可行性问题
- 二分的答案要求有界性/单调性/二段性
- 主要用于解决最大值最小化/最小值最大化问题
- check函数求y一般用贪心
-
基础模板:
//最大化答案模板: bool check(int x){ ...//计算y //返回可行区间 return y<=m;//y随答案单调递减 return y>=m;//y随答案单调递增 } int bianryfind(){ int l=下界-1,r=上界+1; while(l+1<r){ int mid=r+l>>1; if(check(mid) l=mid;//左端往大跳 else r=mid; } return l; } //最小化答案模板: bool check(int x){ ...//计算y //返回可行区间 return y<=m;//y随答案单调递减 return y>=m;//y随答案单调递增 } int bianryfind(){ int l=下界-1,r=上界+1; while(l+1<r){ int mid=r+l>>1; if(check(mid) r=mid;//右端往小跳 else l=mid; } return r; }
-
题型归纳:
[[Luogu P1182 数列分段 Section II]]
[[Luogu P2678 跳石头]]
[[Luogu P1843 奶牛晒衣服]]
[[Luogu Tracking Segments]]
[[Luogu ABC293F Zero or One]]
-
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】