算法笔记 —— 二分答案

本文详细介绍了二分搜索算法的原理和模板,并通过四个具体的编程实例展示了如何在求解最大值、最小值以及浮点数场景下应用二分法。这些例子包括一元三次方程求解、数列分段、书的复制和营救问题,涉及了无向图、BFS等知识点。
摘要由CSDN通过智能技术生成

一、二分答案:

在答案可能的范围内[L,R]二分查找答案,检查当前答案是否满足题目的条件要求,根据判断结果更新查找区间

二、题目类型:

求最大值、最小值、求满足条件的最大值或最小值、最大值中的最小值、最小值中的最大值、靠近的值。

三、模板:yxc  

 1.求符合条件的最小值:

//求符合条件中的最小值
bool check(int x){}// 检查x是否满足条件
// 区间[l, r]被划分成[l, mid]和[mid + 1, r]时使用
int sreach(int l,int r)
{
    while(l < r)
      {
        int mid = (l + r) >> 1;
        if(check(mid)) r = mid;
        else l = mid + 1;
      }
    return l;
}

2.求符合条件的最大值:

<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值