二分专题练习

整数集合上的二分

求均值的时候,不能/2,而是要>>1,这是因为/2向0取整,>>1向下取整,/2在二分值域包含负数的时候无法正常工作。

正确写出二分的流程是:

  1. 通过分析具体问题,确定左右半段哪一个是可行区间,以及mid归属哪一半段。
  2. 根据分析结果,选择r=mid,l=mid+1,mid=(l+r)>>1l=mid,r=mid-1,mid=(l+r+1)>>1的两个配套形式之一,保证每次的区间都能够缩小。
  3. 二分终止条件是l==r,该值就是答案所在位置。

实数域上的二分

确定精度eps,若保留k为小数则取eps=1e-(k+2)

分支选择r=midl=mid之一即可。

精度不易确定或表示时,采用固定循环次数的二分方法。

三分法求单峰函数极值

函数必须具有严格单调性,不然三分法不再适用。

猜你喜欢

转载自www.cnblogs.com/autoint/p/10387700.html