zoukankan      html  css  js  c++  java
  • Jan's light oj 01--二分搜索篇

    碰到的一般题型:1.准确值二分查找,或者三分查找(类似二次函数的模型)。

         2.与计算几何相结合答案精度要求比较高的二分查找,有时与圆有关系时需要用到反三角函数利用      角度解题。

         3.不好直接求解的一类计数问题,利用二分直接枚举可能的结果,再检查是否符合题目要求。

         4.区间求解,即利用两次二分分别查找有序序列左右上下限,再求差算出总个数。

    题型知识补充:

        1.

          三分的一般写法:

          

     1 double thfind(double left,double right)
     2 {
     3     double midmid,mid;
     4     while(left + 1e-10 < right)
     5     {
     6         mid = (left + right)/2;
     7         midmid = (mid+right)/2;
     8         if(scla(mid) < scla(midmid))
     9             right = midmid;
    10         else
    11             left = mid;
    12     }
    13     return scla(left);
    14 }

        2.

          PI = acos(-1.0);

          一圈 = 2*PI;

        3.

          light oj 1076 Get the Containers;

        4.

          lower_bound(begin(),end(),stand);

          upper_bounder(,,);

     1 int Bsearch_lower_bound(int x)
     2 {
     3     int l = 0, r = n - 1, mid = 0;
     4     while (l <= r)
     5     {
     6         mid = (l + r) >> 1;
     7         if (a[mid] < x) l = mid + 1;
     8         else r = mid - 1;
     9     }
    10     return l;
    11 }
    12 
    13 int Bsearch_upper_bound(int x)
    14 {
    15     int l = 0, r = n - 1, mid = 0;
    16     while (l <= r)
    17     {
    18         mid = (l + r) >> 1;
    19         if (a[mid] <= x) l = mid + 1;
    20         else r = mid - 1;
    21     }
    22     return l;
    23 }

    虽然啥都干不好,但是还是得坚持呀。

  • 相关阅读:
    金融市场的初步了解
    今天参加了一个猎头实践
    前端面试
    web前端 浏览器私有前缀
    背景渐变
    移动web开发之响应式开发
    移动WEB开发之rem适配布局
    flex布局
    常见快捷方式
    virtual
  • 原文地址:https://www.cnblogs.com/henserlinda/p/5180364.html
Copyright © 2011-2022 走看看