二分算法
二分算法
个人感想
洛谷二分题单基本完成,发现二分确实是比较模板的方式解答题目,难点往往是寻找出答案的单调性和如何高效验证答案的正确性。
二分个人感觉就是枚举的优化,在时间复杂度上的极大优化,有一种暴力的美.
目前发现的不足
- 对题目的理解太浅,有时很难看懂题目的意思,理解有问题。
- 对于涉及浮点数的判断还有非常大的进步空间(委婉的说)
二分本质
二分算法本质是二分查找,对于答案存在单调性时便可以用二分来实现快速查找,时间复杂度为
- 我们往往可以通过分析题目,发现答案具有单调性即:
1,2,3···r r· · · · · ·L(边界)
(可以取) (不可取)
那么我们就可以写下二分板子:
这便是对答案的寻找,接下来就是通过题目来写下check函数来验证答案的正确性并记录答案即可.int l=1;r=L; while(l<=r){//如果是小数可以用r-l>=1e-4表示 int mid=(l+r)/2; if(check){ r=mid-1; }else{ l=mid+1; } }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?