社区讨论
本题 二分法 要点注意
P8647 [蓝桥杯 2017 省 AB] 分巧克力参与者 4已保存回复 8
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 8 条
- 当前快照
- 1 份
- 快照标识符
- @m3cbcom9
- 此快照首次捕获于
- 2024/11/11 08:56 去年
- 此快照最后确认于
- 2025/11/04 14:55 4 个月前
本题直接套二分法的模板很可能出问题。个人得到的一个可行的写法是 (此处仅展示关健的区间控制)
mid=(l+r+1)/2
结果大于等于K:l=mid
结果小于K:r=mid-1
此处不能写l=mid+1,因为mid可能为最终结果 需要保留。
而r就无所谓了,通过-1防止死循环
此处也不能写mid=(l+r)/2,会死循环。举个例子:
l=1,r=2
mid=1
结果大于等于K:l=1
这就死循环了,但如果是mid=(l+r+1)/2,mid会更偏向r
此时mid=2
结果大于等于K:l=2
结果大于等于K:r=1
这样两种情况都能通过,并且保留了大于等于K的mid
回复
共 8 条回复,欢迎继续交流。
正在加载回复...