Stars

原创 2016年08月30日 13:43:26
链接:http://poj.org/problem?id=2352

题目: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.

题意:在坐标系的第一象限有几颗星星,每颗星星(m,n)的等级定义为满足(x<=m,y<=n)的星星的个数。

分析:所给的数据是按照y坐标升序的,其实是个提示,主要的思想就是要一层一层按照y轴去数。数据量中等,用暴力做的话,需要维护一个前缀和,我没试过,不过应该是可以做的,当时做的时候刚好学了树状数组,所以就用树状数组来做了。

题解:
#include <iostream>
#include <cstdio>
#include <cstdlib>
#include <algorithm>
#include <queue>
#include <stack>
#include <vector>
#include <map>
#include <string>
#include <cstring>
#include <functional>
#include <cmath>
#include <cctype>
#include <cfloat>
#include <climits>
#include <complex>
#include <deque>
#include <list>
#include <set>
#include <utility>
using namespace std;

int cla[32010];
int bit[32010];
pair<int,int> ps[32010];
int n;

void add(int x)
{
	while(x<=32005){
		bit[x]+=1;
		x+=x&-x;
	}
}

int countn(int x)
{
	int an=0;
	while(x){
		an+=bit[x];
		x-=x&-x;
	}
	return an;
}

int main()
{
	//freopen("in.txt","r",stdin);
	scanf("%d",&n);
	memset(bit,0,sizeof bit);
	memset(cla,0,sizeof cla);
	int x,y;
	for(int i=1;i<=n;i++){
		scanf("%d %d",&x,&y);
		add(x+1);
		cla[countn(x+1)-1]++;
	}
	for(int i=0;i<n;i++){
		printf("%d\n",cla[i]);
	}
	return 0;
}

版权声明:本文为博主原创文章,未经博主允许不得转载。

视觉测量V-STARS系统

  • 2012年09月26日 15:41
  • 140KB
  • 下载

CMG-STARS使用指南

  • 2010年06月19日 17:08
  • 997KB
  • 下载

poj2352 Stars 线段树单点更新

题目在此:传送门 题意:在一个坐标轴上,有n颗星星,每颗星都有等级,等级的范围为0~n-1,每颗星的等级为它左下角存在的星星(不包括自身,y坐标可以相等)的数量,有几颗星等级就为几,然后依次输出等级...

pku2482--Stars in Your Window

  • 2010年09月19日 11:30
  • 4KB
  • 下载

基于ROS的Most Stars开源代码汇总(自动驾驶汽车+RGBDSLAMv2+ROS2+人识别与跟踪等)

Star 200+https://github.com/CPFL/Autoware用于城市自主驾驶的开源软件。 http://www.tier4.jp/Autoware用于城市自主驾驶的集成开源软件,...

巧妙地计算几何 Dancing Stars on Me

留给学弟学妹们的题目HDU - 5533 https://vjudge.net/contest/161167#problem/G 给你一些整数点,看这些点组成的多边形是否为正多边形 首先是东庆...

HDU 5533 Dancing Stars on Me(判断n个整数点是否能组成正n边形)——2015ACM/ICPC亚洲区长春站

HDU 5533 Dancing Stars on Me(判断n个整数点是否能组成正多边形)——2015ACM/ICPC亚洲区长春站...

hdu 1541 Stars(树状数组,思路)

Stars Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Su...
  • acm_cxq
  • acm_cxq
  • 2016年07月02日 11:38
  • 192

HDU 6184 Counting Stars(无向图三元环计数)

Counting StarsTime Limit: 4000/2000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) T...
  • Yasola
  • Yasola
  • 2017年09月05日 20:49
  • 285

Github上Stars最多的53个深度学习项目

项目名称  Stars 项目介绍 TensorFlow 29622 使用数据流图计算可扩展机器学习问题 Caffe 11799 Caffe是一个高效的开源深度学习框架 Neural ...
  • jiazhen
  • jiazhen
  • 2016年08月15日 10:38
  • 1333
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Stars
举报原因:
原因补充:

(最多只允许输入30个字)