蓝桥杯第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;
   }
}
相关推荐
星夜9821 小时前
C++回顾 Day6
开发语言·数据结构·c++·算法
UpUpUp……3 小时前
C++复习
开发语言·c++·笔记
BC的小新3 小时前
C++ Stack&Queue
c++
charlie1145141913 小时前
从C++编程入手设计模式1——单例模式
c++·单例模式·设计模式·架构·线程安全
asom224 小时前
LeetCode Hot100(矩阵)
算法·leetcode·矩阵
菠萝014 小时前
分布式CAP理论
数据库·c++·分布式·后端
蒟蒻小袁4 小时前
力扣面试150题--二叉树的右视图
算法·leetcode·面试
一块plus4 小时前
当 Bifrost 与 Hydration 携手:Gigadot 能为 Polkadot DeFi 带来哪些新可能?
算法·架构
进击的小白菜5 小时前
LeetCode 215:数组中的第K个最大元素 - 两种高效解法详解
java·算法·leetcode
写个博客6 小时前
代码随想录算法训练营第五十三天
算法