蓝桥杯第21场小白入门赛补题

5.蓝桥派对

思路 :一个区间与多少个其他区间有关联,先对所有区间左端点和右端点从小到大排序,对于每个询问,我们先算出[1,r]这个区间里有多少个区间的起点即区间总数,使用upper_bound函数,然后使用lower_bound函数计算出第一个大于等于l的右端点是第几个,然后起点个数减终点个数再减去自身即为与其他区间有关联的个数

Code:

cpp 复制代码
constexpr int N=4e5+5,mod=1e9+7;

PII q[N];
int a[N],b[N];

void solve()
{
   int n,m;cin>>n>>m;
   for(int i=0;i<n;i++)
   {
    int x,y;cin>>x>>y;
    q[i]={x,y};
    a[i]=x,b[i]=y;
   }
   sort(a,a+n);
   sort(b,b+n);
   for(int i=0;i<n;i++)
   {
    int l=q[i].first,r=q[i].second;
    int x=upper_bound(a,a+n,r)-a;
    int y=lower_bound(b,b+n,l)-b;
    cout<<x-y-1<<endl;
   }
}
相关推荐
独好紫罗兰15 分钟前
洛谷题单3-P5720 【深基4.例4】一尺之棰-python-流程图重构
开发语言·python·算法
byte轻骑兵28 分钟前
【C++进阶】关联容器:pair类型
开发语言·c++
the_nov36 分钟前
11.多线程-信号量-线程池
linux·c++
LuckyRich140 分钟前
【boost搜索引擎】下
开发语言·c++·搜索引擎
对方正在长头发丿1 小时前
LETTERS(DFS)
c++·笔记·算法·深度优先·图论
Qian_ShouYi1 小时前
MATLAB 代码学习
学习·算法·matlab
lovebugs2 小时前
K8s面试第一篇:初识Kubernetes——核心概念与组件详解
后端·算法·面试
HelloDam2 小时前
基于元素小组的归并排序算法
后端·算法·排序算法
HelloDam2 小时前
基于连贯性算法的多边形扫描线生成(适用于凸多边形和凹多边形)【原理+java实现】
算法
逸狼3 小时前
【Java 优选算法】二分算法(下)
数据结构