【模板+讲解】二分答案

本文详细介绍了二分答案的概念,强调了答案的单调性,并列举了多种问题场景,如求最大最小值等。同时,提供了求解不同问题的二分代码示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

【模板+讲解】二分答案

!阅读须知||阅读本博文前笔者认为读者已经学会(或了解)了:
1.基础语言与算法
2.标准二分法(二分思想)
3.二分查找

定义

二分答案与二分查找类似,即对有着单调性的答案进行二分,大多数情况下用于求解满足某种条件下的最大(小)值。

答案单调性

这里写图片描述
答案的单调性大多数情况下可以转化为一个函数,其单调性证明多种多样,如下:

  1. 移动石头的个数越多,答案越大(NOIP2015跳石头)。
  2. 前i天的条件一定比前 i + 1 天条件更容易(NOIP2012借教室)。
  3. 满足更少分配要求比满足更多的要求更容易(NOIP2010关押罪犯)。
  4. 满足更大最大值比满足更小最大值的要求更容易(NOIP2015运输计划)。
  5. 时间越长,越容易满足条件(NOIP2012疫情控制)。

可以解决的问题

  1. 求最大的最小值(NOIP2015跳石头)。
  2. 求最小的最大值(NOIP2010关押罪犯)。
  3. 求满足条件下的最小(大)值。
  4. 求最靠近一个值的值。
  5. 求最小的能满足条件的代价。

代码

为了保证解在二分搜

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值