Stars

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 6993    Accepted Submission(s):
2754

Problem Description
Astronomers often examine star maps where stars are
represented by points on a plane and each star has Cartesian coordinates. Let
the level of a star be an amount of the stars that are not higher and not to the
right of the given star. Astronomers want to know the distribution of the levels
of the stars.

For example, look at the map shown on the
figure above. Level of the star number 5 is equal to 3 (it's formed by three
stars with a numbers 1, 2 and 4). And the levels of the stars numbered by 2 and
4 are 1. At this map there are only one star of the level 0, two stars of the
level 1, one star of the level 2, and one star of the level 3.

You are
to write a program that will count the amounts of the stars of each level on a
given map.

 
Input
The first line of the input file contains a number of
stars N (1<=N<=15000). The following N lines describe coordinates of stars
(two integers X and Y per line separated by a space, 0<=X,Y<=32000). There
can be only one star at one point of the plane. Stars are listed in ascending
order of Y coordinate. Stars with equal Y coordinates are listed in ascending
order of X coordinate.
 
Output
The output should contain N lines, one number per line.
The first line contains amount of stars of the level 0, the second does amount
of stars of the level 1 and so on, the last line contains amount of stars of the
level N-1.
 
Sample Input
5
1 1
5 1
7 1
3 3
5 5
 
Sample Output
1
2
1
1
0
给你一堆星星的坐标,一个星星的level等于它左下边的星星个数,不包括自己本身,可同x,同y;
而且题目给的星星的顺序是按照y,x坐标来排序的,BIT搞。
 /*******************************

 Date    : 2015-12-09 23:16:34
Author : WQJ (1225234825@qq.com)
Link : http://www.cnblogs.com/a1225234/
Name : ********************************/
#include <iostream>
#include <cstdio>
#include <algorithm>
#include <cmath>
#include <cstring>
#include <string>
#include <set>
#include <vector>
#include <queue>
#include <stack>
using namespace std;
int bit[+];
int num[+];
int k=+;
int lowbit(int i)
{
return i&-i;
}
void add(int i,int a)
{
while(i<=)
{
bit[i]+=a;
i=i+lowbit(i);
}
}
int sum(int i)
{
int s=;
while(i>)
{
s+=bit[i];
i=i-lowbit(i);
}
return s;
}
int main()
{
freopen("in.txt","r",stdin);
int i,j;
int n,x,y;
while(scanf("%d",&n)!=EOF)
{
memset(num,,sizeof(num));
memset(bit,,sizeof(bit));
for(i=;i<n;i++)
{
scanf("%d%d",&x,&y);
num[sum(x+)]++;
add(x+,);
}
for(i=;i<n;i++)
printf("%d\n",num[i]);
}
return ;
}

据说暴力也能过:

 #include<stdio.h>
#include<string.h>
#include<algorithm>
using namespace std;
int a[],i,j,k,l,m,n,x[],y[];
int main()
{
while(scanf("%d",&k)!=EOF)
{
memset(a,,sizeof(a));
for(j=;j<k;j++)
{
scanf("%d%d",&x[j],&y[j]);
int cnt=;
for(l=;l<j;l++)
if(x[l]<=x[j])
cnt++;
a[cnt]++;
}
for(i=;i<k;i++)
printf("%d\n",a[i]); }
return ;
}
 

最新文章

  1. HTTP 错误 500.23 - Internal Server Error 检测到在集成的托管管道模式下不适用的 ASP.NET 设置。
  2. ASP.NET MVC 4 异步加载控制器
  3. Mac Pro 安装 Adobe Photoshop CC for mac V2014 破解版
  4. 基于python的flask的应用实例注意事项
  5. vim 配置 设置搜索 高亮
  6. GIT: 远程建立一个仓库,然后复制到本地
  7. win10 IIS10 HTTP 错误 404.2 - Not Found
  8. PC-破解RAR软件注册问题
  9. 第七篇:web之前端之ajax
  10. 移动端reset.css
  11. centos7 install jdk
  12. UESTC_方老师和农场 2015 UESTC Training for Graph Theory&lt;Problem L&gt;
  13. PHP和MySQL Web开发 原书第4版 高清文字版,有目录,附带源码
  14. 64位linux系统通过编译安装apache+…
  15. Javascript用数组实现栈和队列
  16. MySql安装教程
  17. python 列表生成式,生成器&amp;迭代器
  18. mysql load_file在数据库注入中使用
  19. AWS是怎么改写 MySQL的?
  20. 【T04】开发并使用应用程序框架

热门文章

  1. Nlog从下载到使用例子
  2. Netbeans7.4下搭建struts2.3.16
  3. LeetCode_Spiral Matrix
  4. 【转】android 兼容性测试 CTS 测试过程(实践测试验证通过)
  5. Compiled Language vs Scripting Language
  6. July 【补题】
  7. mysql基本介绍
  8. MVC Razor视图引擎
  9. web前端之 HTML介绍
  10. uva11624 - Fire!