POJ2352【树状数组】
个人NO。1
一开始题意理解有错。
一星星左下边有N颗星星,那它的等级就是N。
一开始理解必须X,Y两个坐标都小于,后来根据样例看了一下只要左下方即可,X,Y坐标都小于等于即可,但不包括星星本身。
#include <iostream>
#include <stdio.h>
#include <string.h>
using namespace std;
int lowbit(int x)
{
return x&-x;
}
int c[32005];
int x[32005];
int n;
int ans[32005];
int visit[32005];
int a[32005];
void add(int x,int y)//后面的所有的值得更新,不包括自身
{
while(x<=32005)
{
c[x]+=y;
x+=lowbit(x);
}
}
int sum(int x)
{
int ret=0;
while(x>0)
{
ret+=c[x];
x-=lowbit(x);
}
return ret;
}
int main()
{
while(scanf("%d",&n)!=EOF)
{
memset(c,0,sizeof(c));
memset(x,0,sizeof(x));
memset(ans,0,sizeof(ans));
int x,y;
for(int i=1;i<=n;i++)
{
scanf("%d%d",&a[i],&y);
if(visit[a[i]+1]==0)
{
add(a[i]+2,1);
visit[a[i]+1]=1;
}
else
add(a[i]+1,1);//c[i]表示比i坐标小的个数
ans[sum(a[i]+1)]++;
} for(int i=0;i<n;i++)
printf("%d\n",ans[i]);
}
return 0;
}
题目有陷阱就是坐标可以输入0,这对lowbit不适应。
对树状数组的用法更了解了一下,大致用法如下:balabala....

POJ2352【树状数组】的更多相关文章
- poj2352树状数组
		Astronomers often examine star maps where stars are represented by points on a plane and each star h ... 
- poj2352树状数组解决偏序问题
		树状数组解决这种偏序问题是很厉害的! /* 输入按照y递增,对于第i颗星星,它的level就是之前出现过的星星中,横坐标小于i的总数 */ #include<iostream> #incl ... 
- [ACM_数据结构] POJ2352 [树状数组稍微变形]
		Description Astronomers often examine star maps where stars are represented by points on a plane and ... 
- poj2352(树状数组)
		题目链接:https://vjudge.net/problem/POJ-2352 题意:在直角坐标系中给出n个点的 (x,y),(0<=x,y<=32000),定义每个点的level为(x ... 
- POJ-2352 Stars   树状数组
		Stars Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 39186 Accepted: 17027 Description A ... 
- 树状数组POJ2352星星
		http://poj.org/problem?id=2352 这道题的题意对于住学者应该比较难理解,但是如果弄明白他的意思的话,你就会发现这就是赤裸裸的树状数组,哎,欺负我不懂是吧,当时读题读啦好久, ... 
- 【二维偏序】【树状数组】【权值分块】【分块】poj2352 Stars
		经典问题:二维偏序.给定平面中的n个点,求每个点左下方的点的个数. 因为 所有点已经以y为第一关键字,x为第二关键字排好序,所以我们按读入顺序处理,仅仅需要计算x坐标小于<=某个点的点有多少个就 ... 
- poj2352 Stars【树状数组】
		Astronomers often examine star maps where stars are represented by points on a plane and each star h ... 
- POJ 3067 原来是树状数组--真的涨姿势
		题意:计划在东边的城市和西边的城市中建路,东边的点从1.....n,西边的点从1......m,求这些点连起来后有多少个交叉. PS:这个题目没有任何思路,没想到是树状数组.... 交叉出5个点 分析 ... 
随机推荐
- mybatis注解使用
			spring整合mybatis时,要使用mybatis的注解,需要spring-config.xml文件中添加下述配置: <!--下述配置指明了我们的Mapper,即Dao,在相应的包里也就可以 ... 
- 百度2017春招<度度熊回家问题>
			题目: 一个数轴上共有N个点,第一个点的坐标是度度熊现在位置,第N-1个点是度度熊的家.现在他需要依次的从0号坐标走到N-1号坐标.但是除了0号坐标和N-1号坐标,他可以在其余的N-2个坐标中选出一个 ... 
- 安全控制 iptables
			转自:http://www.opsers.org/linux-home/videos/chapter-netfilter-iptables-raiders.html 内容简介防火墙的概述iptable ... 
- linux---centos7 安装chromedriver
			1.安装浏览器 指定yum 源 wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.re ... 
- python基础(7)--深浅拷贝、函数
			1.深浅拷贝 在Python中将一个变量的值传递给另外一个变量通常有三种:赋值.浅拷贝.深拷贝 Python数据类型可氛围基本数据类型包括整型.字符串.布尔及None等,还有一种由基本数据类型作为最基 ... 
- hdu 5001(概率DP)
			Walk Time Limit: 30000/15000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Total Subm ... 
- linux下c图形化编程之gtk+2.0简单学习
			在linux下想做一个图形化的界面,然后自己选择使用gtk+2.0来进行编辑,我的电脑已经安装过gtk+2.0了,所以就在网上找了一个安装方法,结果未测试,大家有安装问题可以说下,一起探讨下. 1.安 ... 
- Technology share: VR is coming,are you ready?
			►Date 2016-10-18 ►Address 上海市浦东新区严家桥1号宏慧音悦湾3号楼5楼 VR SPACE ►Events 品牌如何抢先一步,借玩VR吸引眼球,如何让客户作为VR买单? 如何结 ... 
- bzoj 1853 容斥 + 搜索
			思路:先把所有幸运数字找出来, 把没有用的去掉,然后爆搜容斥,因为最多只会搜十几个就超过限制了, 所以是可行的. #include<bits/stdc++.h> #define LL lo ... 
- HDU5883 The Best Path(欧拉回路 | 通路下求XOR的最大值)
			本文链接:http://www.cnblogs.com/Ash-ly/p/5932748.html 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=588 ... 
