zoukankan      html  css  js  c++  java
  • 7.25 二分查找模板

      今天为大家整理一类经典题目——二分问题,这类问题在普及提高组竞赛中经常出现,而且经常作为难点出现,所以同学们要在刚开始接触的时候就要打好基础,熟练运用模板,在以后的竞赛中才能做到手到擒来。

    题目描述

    题解代码:

    #include<iostream>
    #include<string>
    using namespace std;
    int n,m;
    //找出小于等于该值的最大值
    long long a[100005],b[50005];
    /*
    bool binary_search(long long value){
     int l=0,r=n-1;
     while(l<r){
      int mid=(l+r+1)/2;
      if(a[mid]<=value){
       l=mid;
      }
      else{
       r=mid-1;
      }
     }
     if(a[l]==value)
     {
      return true;
     }
     return false;
    }
    */
    //找出大于等于的最小值
    bool binary_search(long long value){
     int l=0,r=n-1;
     while(l<r){
      int mid=(l+r)/2;
      if(a[mid]>=value){
       r=mid;
      }
      else{
       l=mid+1;
      }
     }
     if(a[r]==value){
      return true;
     }
     return false;
    }
    int main(){
     scanf("%d",&n);
     for(int i=0;i<n;i++){
      scanf("%lld",&a[i]);
     }
     scanf("%d",&m);
     for(int i=0;i<m;i++){
      scanf("%lld",&b[i]);
     }
     int ans=0;
     for(int i=0;i<m;i++){
      bool flag=binary_search(b[i]);
      if(flag==true){
       ans++;
      }
     }
     printf("%d",ans);
     return 0;
    }

  • 相关阅读:
    this.props.children 踩坑
    3.webpack配置
    2.项目初始化配置
    1项目库的建立
    Idea-代码背景设置
    SpringBoot+nacos-环境切换-配置文件
    Docker-镜像地址无法访问
    端口-映射、开放、定义
    Linux-命令
    Nginx-命令
  • 原文地址:https://www.cnblogs.com/cxs070998/p/11243396.html
Copyright © 2011-2022 走看看