• 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 }

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

  • 相关阅读:
    js幻灯片效果!
    构造函数和析构函数的简单说明
    ASP.NET接口的基础使用例子
    带预览图的js切换效果!
    在win7系统中安装sqlserver2005出现 [Microsoft][SQL Native Client]客户端不支持加密问题!
    Win7开启无线共享上网的方法
    C# 结构体 简明介绍
    C#访问修饰符简单说明
    C#不定长参数的使用
    研究了一下Google Ajax Search API, 给博客做了个样品
  • 原文地址:https://www.cnblogs.com/henserlinda/p/5180364.html
Copyright © 2020-2023  润新知