zoukankan      html  css  js  c++  java
  • 二分查找(范围统计)

    /*二分查找(范围统计)*/
    #include <iostream>
    #include<algorithm>
    #include<queue>
    #include<stack>
    #include<cmath>
    #include<string.h>
    #include<stdio.h>
    #include<stdlib.h>
    using namespace std;
    #define maxn 1000
    int A[maxn];
    int lower_bound1(int *A,int x,int y,int v)//二分查找求下界
    {
        int m;
        while(x<y)
        {
            m=x+(y-x)/2;
            if(A[m]>=v)//看区别
                y=m;
            else
                x=m+1;
        }
        return x;
    }
    int upper_bound1(int *A,int x,int y,int v)//二分查找求上界
    {
        int m;
        while(x<y)
        {
            m=x+(y-x)/2;
            if(A[m]<=v)//看区别
                x=m+1;
            else
                y=m;
        }
        return x;
    }
    int main()
    {
        int n,v;
        while(~scanf("%d%d",&n,&v))
        {
            for(int i=0; i<n; i++)
            {
                A[i]=2*i;
                printf("%d ",A[i]);
            }
            printf("
    %d
    ",upper_bound(A,A+n,v+8)-lower_bound(A,A+n,v));//STL自带的
            /*范围统计*/
            printf("
    %d
    ",lower_bound1(A,0,n,v));
            printf("
    %d
    ",upper_bound1(A,0,n,v));
        }
        return 0;
    }
  • 相关阅读:
    html5语法
    Addthis使用
    css font-weight原理
    css3 background
    jquery对标签属性操作
    给textarea添加背景图
    label的for属性
    css3 text-shadow
    z-index堆叠规则
    css3 @font-face
  • 原文地址:https://www.cnblogs.com/heqinghui/p/3209011.html
Copyright © 2011-2022 走看看