二分答案0.1

来源:互联网 发布:淘宝采集软件收费吗 编辑:程序博客网 时间:2024/06/04 17:47

二分答案

0.1


目录

  • 二分答案
    • 基本概念
    • 二分整数
      • 实现模版


基本概念

二分答案是对答案用二分的方式进行枚举,通过缩小范围逐步逼近答案,是一种高效的枚举方式,主要有二分小数及二分整数两种.通常体现为”最 值最 “.在实际做题时不一定严格二分,三分甚至更多分都可以.
在二分时,要注意r的范围,如果过大,会引起不必要的时间消耗.一般不用理论最大值,即整数最大总和,根据估算推断一下,实在不放心可以在读入数据是处理一下(有些题目要求比较严格,r的值就不能超出给定范围).
判断函数是二分的主要考点,在编写时注意即时成立和即时错误的退出判定,在累加时通常将初始值设为1(默认至少有一种情况成立).


二分整数

实现模版

  • ans是二分的结果,根据判断条件决定是’l-1’还是’r+1’.值得注意的是两种情况并不一定相同,一般根据判断函数的关系,正确返回的那个作为结果.
bool ju(int s);int l=0,r=10000000;while(l<=r)    {        int mid=l+r>>1;        ju(mid)?r=mid-1:l=mid+1;    }printf("%d\n",ans);

原创粉丝点击