首页 > 代码库 > 二分算法的一些思考

二分算法的一些思考

二分算法的思想:

通过不断减小问题规模,从边界条件出发求解问题。(通常是单调性问题,判定形式较为简单)

二分算法的优点:

1.把n的时间复杂度优化到logn

2.将一个问题转化为判定性质问题求解

代码:

while(l<=r)

{

  if(check(mid)
  {

    ans = mid;

    r = mid-1;

  }

  else

    ans = mid+1;

}

例题:

block towers

n个人选择n个不同2的倍数的数,m个人选择m个3的倍数的数,选择的最大数字最小!

 

二分算法的一些思考