树状数组POJ2352星星】的更多相关文章

http://poj.org/problem?id=2352 这道题的题意对于住学者应该比较难理解,但是如果弄明白他的意思的话,你就会发现这就是赤裸裸的树状数组,哎,欺负我不懂是吧,当时读题读啦好久,好啦,下面说一下他的意思吧.. 由于题目已经说明y的坐标是递增顺序,所以直接考虑x的坐标就可以啦.每次当有x输入时,都求出sum(x+1)的值(注意呦,在树状数组中,可是从1开始的,而题目中的输入是包含0的),并把result[sum(x+1)]++:再更新一下,就好啦啦啦啦. 还是要注意一点,用c…
数 星 星 S t a r s 数星星 Stars 数星星Stars 题目描述 天空中有一些星星,这些星星都在不同的位置,每个星星有个坐标.如果一个星星的左下方(包含正左和正下)有 k k k 颗星星,就说这颗星星是 k k k级的. 给定星星的位置,输出各级星星的数目. 一句话题意:给定 n n n个点,定义每个点的等级是在该点左下方(含正左.正下)的点的数目,试统计每个等级有多少个点. 输入 第一行一个整数 N N N,表示星星的数目: 接下来 N N N行给出每颗星星的坐标,坐标用两个整数…
2019-05-20 22:52:07 加油,坚持,加油,坚持 !!! #include<iostream> #include<cstdio> #include<cstring> using namespace std; ; int c[MAXN],level[MAXN],n; int lowbit(int x){return x & (-x);} // 求前n项的和 int sum(int n){ ; ){ sum += c[n]; n -= lowbit(n…
Stars Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 39186 Accepted: 17027 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 b…
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 wa…
树状数组解决这种偏序问题是很厉害的! /* 输入按照y递增,对于第i颗星星,它的level就是之前出现过的星星中,横坐标小于i的总数 */ #include<iostream> #include<cstring> #include<cstdio> #include<algorithm> using namespace std; #define maxn 32200 int bit[maxn],n; void add(int i){ while(i<=m…
个人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…
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 wa…
[例1]数星星 天空中有一些星星,这些星星都在不同的位置,每个星星都有个坐标,如果一个星星的左下方(包括正左和正下)有k颗星星,就说这颗星星是k级的. 比如,上图中,星星5是3级的(1,2,4在其左下方) 2,4是1级的. 给定星星的位置,输出各级星星的数目. 简述:先按y坐标来排序,就用x来作为参考用树状数组来求解答案(前缀和) 代码 #include<iostream> #include<cstdio> using namespace std; ; ; struct node{…
题目链接:https://vjudge.net/problem/POJ-2352 题意:在直角坐标系中给出n个点的 (x,y),(0<=x,y<=32000),定义每个点的level为(x',y')的数量,其中x'<=x,y'<=y.输出所有level的点的个数. 思路:这几天开始写树状数组的题,加油!!因为输入为按y升序排列,在y相等时按x升序排列.所以当输入点i时,对其level有贡献的点一定在点i之前,而不会在其后.所以点i的level为之前出现的点的横坐标<=xi的个…