牛客每日一题(2026.4.30) 整数域二分

题目


AC代码

cpp 复制代码
#include<bits/stdc++.h> 
#define ll long long
using namespace std;

ll a[200005];

void solve()
{
    ll n,q;
    cin>>n>>q;
    for(ll i=1;i<=n;i++)
    {
        cin>>a[i];
    }
    sort(a+1,a+n+1);
    while(q--)
    {
        ll l,r;
        cin>>l>>r;

        if(l>r)
        {
            cout<<0<<endl;
            continue;
        }

        ll ans;
        ll lpos=0,rpos=n+1,mid;
        while(lpos+1!=rpos)
        {
            mid=lpos+(rpos-lpos>>1);

            if(a[mid]<l)lpos=mid;
            else rpos=mid;
        }
        ans=rpos;  // 左起点下标

        rpos=n+1;
        while(lpos+1!=rpos)
        {
            mid=lpos+(rpos-lpos>>1);
            
            if(a[mid]<=r)lpos=mid;
            else rpos=mid;
        }
        ans=lpos-ans+1;
        cout<<ans<<endl;
    }

}

int main()
{
    ios::sync_with_stdio(0);
    cin.tie(0);
    solve();
    return 0;
}

个人见解

今天的题相对于昨天还是比较简单的,主要就是考察二分的使用,模板题。

相关推荐
漂流瓶jz40 分钟前
UVA-1612 猜名次 题解答案代码 算法竞赛入门经典第二版
数据结构·算法·题解·排序·aoapc·算法竞赛入门经典
吞下星星的少年·-·1 小时前
Div.2 CF 1130B题(构造,贪心)
算法·贪心·构造
ShineWinsu2 小时前
对于Qt:QRadioButton常见属性以及QButtonGroup的解析
数据库·c++·qt·microsoft·gui·qradiobutton·qbuttongroup
傲世仙尊2 小时前
多态-虚表才活到运行期符号表早已消失
c++
chenbingjie_c2 小时前
C++ 多态完全指南:从虚函数重写到虚函数表原理
开发语言·c++
是main不是漫2 小时前
【双指针——移动零】数组划分类题目的入门基石
c++·算法
·present·2 小时前
CSAPP(Bomb lab)
c语言·c++
王老师青少年编程3 小时前
2026年信奥赛c++普及组csp-j第二轮复赛真题
c++·真题·csp·信奥赛
深圳市快瞳科技有限公司3 小时前
野外鸟类AI识别落地实录:输入适配、结构化输出、去重聚合与置信度分流的工程实践
算法·计算机视觉·鸟类识别·鸟类ai识别·野外鸟类观测·林业调查
时间的拾荒人4 小时前
CMake 常用命令详解:从版本声明到安装部署
c++·面试