蓝桥杯第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;
   }
}
相关推荐
qq_4798754327 分钟前
C++ std::Set<std::pair>
开发语言·c++
he___H3 小时前
数据结构-移位
数据结构
云知谷3 小时前
【C++基本功】C++适合做什么,哪些领域适合哪些领域不适合?
c语言·开发语言·c++·人工智能·团队开发
电子_咸鱼3 小时前
LeetCode——Hot 100【电话号码的字母组合】
数据结构·算法·leetcode·链表·职场和发展·贪心算法·深度优先
仰泳的熊猫3 小时前
LeetCode:785. 判断二分图
数据结构·c++·算法·leetcode
^Moon^3 小时前
CycloneDDS:跨主机多进程通信全解析
c++·分布式·dds
rit84324993 小时前
基于MATLAB实现基于距离的离群点检测算法
人工智能·算法·matlab
C_Liu_5 小时前
C++:list
开发语言·c++
my rainy days6 小时前
C++:友元
开发语言·c++·算法
haoly19896 小时前
数据结构和算法篇-归并排序的两个视角-迭代和递归
数据结构·算法·归并排序