Nested Segments CodeForces 652D 树状数组+离散化
来源:互联网 发布:数据库设置主键的语句 编辑:程序博客网 时间:2024/05/18 20:13
传送门:CodeForces 652D
题意:给出n个区间,问每个区间包含多少区间。
思路:同时维护两个端点不好维护,我们可以按其中一个端点排序然后维护另一个端点,用树状数组维护一下就好了。
代码:
#include<bits/stdc++.h>#define ll long long#define pi acos(-1)#define MAXN 100010#define inf 0x3f3f3f3fusing namespace std;typedef pair<int,int>P;struct node{int l,r,id;}a[MAXN*2];int bit[MAXN*10];bool cmp(node x,node y){return x.r<y.r;}int num[MAXN*4];int sum(int i){int ans=0;while(i>0){ans+=bit[i];i-=-i&i;}return ans;}void add(int i,int x){while(i<MAXN*10){bit[i]+=x;i+=-i&i;}}int res[MAXN*10];int main(){int n;cin>>n;int cnt=0;for(int i=1;i<=n;i++){scanf("%d%d",&a[i].l,&a[i].r);a[i].id=i;num[cnt++]=a[i].l;num[cnt++]=a[i].r;}sort(a+1,a+n+1,cmp);sort(num,num+cnt);cnt=unique(num,num+cnt)-num;for(int i=1;i<=n;i++){int l=lower_bound(num,num+cnt,a[i].l)-num+1;int r=lower_bound(num,num+cnt,a[i].r)-num+1;res[a[i].id]=sum(r)-sum(l-1);add(l,1);}for(int i=1;i<=n;i++)printf("%d\n",res[i]); return 0;}
阅读全文
0 0
- Codeforces 652D Nested Segments 【树状数组 + 离散化】
- CodeForces 652D Nested Segments(树状数组+离散化)
- CodeForces 652D Nested Segments(离散化,树状数组)
- 【Codeforces 652 D Nested Segments】+ 树状数组 + 离散化
- Codeforces 652D Nested Segments【离散化+思维+树状数组】
- Nested Segments codeforces 652D 树状数组 +离散化
- CodeForces 652D Nested Segments(树状数组 离散化)
- Nested Segments CodeForces 652D 树状数组+离散化
- CodeForces 652D Nested Segments 树状数组
- Educational Codeforces Round 10 D. Nested Segments 离散化+树状数组
- CodeForces 652D Nested Segments (树状数组)
- Codeforces 652D Nested Segments 树状数组离线处理
- Code Forces 652D Nested Segments(离散化+树状数组)
- CodeForce 652D Nested Segments 树状数组
- 初识树状数组 Educational Codeforces Round 10 D - Nested Segments
- codeforces 652D Nested Segments
- cf#ECR10-D. Nested Segments-树状数组+二分
- 【Educational Codeforces Round 10D】【树状数组】Nested Segments 每条线段内部有多少条线段
- 使用Sketch进行iOS开发
- CountDownLatch
- 微服务,微架构[十一]springboot模板页面thymeleaf
- java构造函数详解
- 读文献笔记:汇率政策新共识与“”中间制度消亡论“”
- Nested Segments CodeForces 652D 树状数组+离散化
- [OpenGL 超级宝典][笔记] 8.1 PBO介绍与用法
- 内省操作javabean
- Java中String对象创建机制详解
- 基于Scrapy分布式爬虫的开发与设计
- [BZOJ]1192: [HNOI2006]鬼谷子的钱袋
- 2017年上海金马五校程序设计竞赛(网上资格赛)Problem H : DHU Club Festival
- lintcode:跳跃游戏——解析
- 51Nod-1799-二分答案