poj 2352 Stars 树状数组

简介: 树状数组,简单题,我刚刚开始学的时候就a了,不多说什么了,直接贴代码。

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.………………


树状数组,简单题,我刚刚开始学的时候就a了,不多说什么了,直接贴代码。

#include<stdio.h>
#include<string.h>
int a[32002];
int level[15002];
int lowbit(int x)
{
  return x&(-x);
}
void insert(int x)
{
  while(x<32002)
  {
    a[x]++;
    x += lowbit(x);
  }
}
int sum(int x)
{
  int s=0;
  while(x)
  {
    s += a[x];
    x -= lowbit(x);
  }
  return s;
}
int main()
{
  int n, i, x, y;
  scanf("%d",&n);
  memset(a,0,sizeof(level));
  memset(level,0,sizeof(level));
  for(i = 0; i < n; i++)
  {
    scanf("%d%d",&x,&y);
    x++;
    level[sum(x)]++;
    insert(x);
  }
  for(i= 0; i < n; i++)
    printf("%d\n",level[i]);
  return 0;
}
目录
相关文章
|
5月前
【洛谷 P1219】[USACO1.5]八皇后 Checker Challenge 题解(深度优先搜索+回溯法)
**USACO1.5八皇后挑战**是关于在$n\times n$棋盘上放置棋子的,确保每行、每列及两条主对角线上各有一个且仅有一个棋子。给定$6$作为输入,输出前$3$个解及解的总数。例如,对于$6\times6$棋盘,正确输出应包括解的序列和总数。代码使用DFS解决,通过跟踪对角线占用状态避免冲突。当找到所有解时,显示前三个并计数。样例输入$6$产生输出为解的前三个排列和总数$4$。
37 0
|
人工智能
poj 2299 Ultra-QuickSort 求逆序数 树状数组解法
所谓离散化,我们的了解就是对原数组排序,然后用所在位置的下标代替原数,这样我们就可以把数据范围缩小到1-500000,这个数组是开的下的。
43 0
poj 1990 MooFest 树状数组
题意就是有N头牛,每头牛都有一个坐标和声调值(x, v),两头牛之间通讯要花费的能量是他们的距离乘以最大的一个音调值,现在要任意两头牛之间都相互通讯一次,求总共需要花费多少能量?
48 0
|
机器学习/深度学习
HDOJ(HDU) 2083 简易版之最短距离(中位数)
HDOJ(HDU) 2083 简易版之最短距离(中位数)
137 0
|
人工智能 BI 存储
|
人工智能 网络架构