问题 A: 数星星 Stars

时间限制: 1 Sec  内存限制: 128 MB
[命题人:admin]

题目描述

输入

第一行一个整数 N,表示星星的数目;
接下来 N 行给出每颗星星的坐标,坐标用两个整数 x,y 表示;
不会有星星重叠。星星按 y 坐标增序给出, y坐标相同的按 x 坐标增序给出。

输出

N 行,每行一个整数,分别是 0 级,1 级,2 级,……,N-1 级的星星的数目。

样例输入 Copy

5
1 1
5 1
7 1
3 3
5 5

样例输出 Copy

1
2
1
1
0

提示

对于全部数据,1<=N<=1.5*104, 0<=x,y<=3.2*104

每一颗星星需要统计它的左下方的星星个数。

我们发现题目是按照纵坐标从小到大输入的,对于相同的纵坐标是按照横坐标从小到大输入。

也就是说,我们可以不管纵坐标,按照它给出的横坐标依次插入,并统计当前星星之前的横坐标小于它的星星个数

AC代码:

#include<cstring>
#include<cstdio>
#include<iostream>
#include<algorithm>
using namespace std;
typedef long long ll;
inline ll read()
{
int x=,f=;char ch=getchar();
while(ch<''||ch>''){if(ch=='-')f=-;ch=getchar();}
while(ch>=''&&ch<=''){x=x*+ch-'';ch=getchar();}
return x*f;
}
const int maxn=1e6+;
ll c[maxn];
ll ans[maxn];
ll n;
ll lowbit(ll x){
return x&(-x);
} void updata(ll i,ll k){ //在i位置加上k
while(i <= ){
c[i] += k;
i += lowbit(i);
}
} ll getsum(ll i){ //求A[1 - i]的和(适合于只变化点的树状数组求区间和)
ll res = ;
while(i > ){
res += c[i];
i -= lowbit(i);
}
return res;
}
struct node{
ll x,y;
}a[maxn]; int main(){
n=read();
for(int i=;i<=n;i++){
a[i].x=read();
a[i].y=read();
}
for(int i=;i<=n;i++){
int xx=a[i].x+;
int t=getsum(xx);
updata(xx,);
ans[t]++;
}
for(int i=;i<n;i++){
printf("%lld\n",ans[i]);
}
return ;
}

最新文章

  1. Security &#187; Authorization &#187; 基于资源的授权
  2. oracle笔记一
  3. 不刷新改变URL: pushState + Ajax
  4. 配置Linux自动挂载
  5. Dinic问题
  6. YTU 3019: 螺旋方阵
  7. 实例介绍Cocos2d-x物理引擎:HelloPhysicsWorld
  8. mysql操作之二
  9. Json的反序列化 .net Newtonsoft.Json
  10. 总结分享十大iOS开发者最喜爱的库 分类: ios相关 app相关 2015-04-03 16:43 320人阅读 评论(0) 收藏
  11. JetBrains Pycharm 破解+汉化
  12. 360浏览器兼容模式下IE内核版本
  13. spring boot -thymeleaf-异常处理
  14. poj1328 Radar Installation(贪心 策略要选好)
  15. ISNULL函数的深入讲解
  16. map的综合例子
  17. React Native安卓项目打包发布APK步骤
  18. MYSQ无法启动
  19. 虚方法(virsual method)
  20. 【例题收藏】◇例题&#183;V◇ Gap

热门文章

  1. 记录 Docker 的学习过程 (网络篇之跨主机互通)
  2. Maven2: Missing artifact but jars are in place
  3. Linux常用命令: zip、unzip 压缩和解压缩命令
  4. Ueditor百度编辑器中 setContent()方法的使用
  5. mysql视图的创建、基本操作、作用
  6. JDBC没有导入驱动jar包
  7. java高精度,大数
  8. apache配置跨域请求代理
  9. js - 子节点
  10. codeforces 1285D. Dr. Evil Underscores(字典树)