Laptop

Laptop

https://ac.nowcoder.com/acm/problem/14266

两个信息 首先对第一个关键字排序 这里用一个pair 内置了排序。。。
pair<int,int> p

然后我们只看 第二个关键字 对于 i 如果 i+1,n 这个区间 有大于它的 ans++

用g数组 处理最大值 g[i] 为 (i,n) 的最大值

所以只需判断 f(p[i].second<=g[i+1])

int g[maxn];
P p[maxn];
int n,ans;
int main(){
    n=re;
    For(i,1,n) p[i].first=re,p[i].second=re;
    sort(p+1,p+1+n);
    for(int i=n;i>=1;--i) g[i]=max(g[i+1],p[i].second);
    For(i,1,n)  if(p[i].second<=g[i+1]) ans++;
    cout<<ans;
}
全部评论

相关推荐

面了100年面试不知...:今年白菜这么多,冬天可以狂吃了
点赞 评论 收藏
分享
12-05 18:09
已编辑
广东药科大学 后端工程师
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务