蓝桥杯第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;
   }
}
相关推荐
linweidong1 小时前
C++ 模块化编程(Modules)在大规模系统中的实践难点?
linux·前端·c++
郝学胜-神的一滴5 小时前
深入解析Python字典的继承关系:从abc模块看设计之美
网络·数据结构·python·程序人生
半桔5 小时前
【IO多路转接】高并发服务器实战:Reactor 框架与 Epoll 机制的封装与设计逻辑
linux·运维·服务器·c++·io
HABuo6 小时前
【linux文件系统】磁盘结构&文件系统详谈
linux·运维·服务器·c语言·c++·ubuntu·centos
我在人间贩卖青春7 小时前
C++之多重继承
c++·多重继承
颜酱7 小时前
图结构完全解析:从基础概念到遍历实现
javascript·后端·算法
m0_736919107 小时前
C++代码风格检查工具
开发语言·c++·算法
yugi9878387 小时前
基于MATLAB强化学习的单智能体与多智能体路径规划算法
算法·matlab
DuHz7 小时前
超宽带脉冲无线电(Ultra Wideband Impulse Radio, UWB)简介
论文阅读·算法·汽车·信息与通信·信号处理
Polaris北极星少女8 小时前
TRSV优化2
算法