算法设计与分析2022 · 期末押题专项

Bat快速获取文件夹下文件名称

DIR *.* /B>Filename-list.txt

2-二分搜索.CPP

#include 
#include 
#include 
using namespace std;
const int N = 1e5 + 7;
int n, m, a[N], t;
/*
题目:从小到大不下降序列,n元素m个询问
给出询问元素的起止位置,如果没有输出00
*/

//递归型求解
int getL(int t, int l, int r)
{
    if (l >= r) //【指针溢出】
        return l;
    int mid = l + r >> 1;
    if (a[mid] >= t)     //目标在左侧,让mid成为【首个(不满足)性质的元素】
        getL(t, l, mid); //向左寻找
    else
        getL(t, mid + 1, r); // R先部署了mid,那么l=mid+1(如果有转化的话)
    //此时返回思考,mid偏小,说明向下取整没有+1
}

int getR(int t, int l, int r)
{
    if (l >= r)
        return r;
    int mid = l + r + 1 >> 1;
    if (a[mid] <= t)     //目标在右侧,让mid成为【首个(不满足)性质的元素】
        getR(t, mid, r);

你可能感兴趣的:(Algorithm,Design,2022,蓝桥杯)