poj2352Stars】的更多相关文章

http://poj.org/problem?id=2352 二维逆序数 按一个数排序 转化为1维的 之前用树状数组写过 这次用线段树敲了下 #include <iostream> #include<cstdio> #include<cstring> #include<algorithm> #include<stdlib.h> using namespace std; #define N 32010 struct node { int x, y;…
Stars 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 st…
/* 虽然题目没说,但是读入有以下特点 由于,输入是按照按照y递增,如果y相同则x递增的顺序给出的 所以,可以利用入读的时间进行降为处理 */ 于是我们就得到了一个一维的树状数组解法啦 值得一提:坐标从0~32000,而树状数组是从1开始的 于是,我们对所有下标+1,数组开到32002就可以啦! #include <set> #include <map> #include <cmath> #include <queue> #include <vecto…
题意:给定一些线段(s, e),起点为s,终点为e,求每一段线段被多少线段包含(不包括相等) 思路:很明显的树状数组题目..但是做的时候想了挺久..(下面的x为线段起点, y为线段终点) 做法1:先对线段进行排序,比较函数为 a.x < b.x || a.x == b.x && a.y > b.y; 接下来便依次插入树状数组中,插的时候左端点 +1, 右端点-1,这样求和时前面的线段自然消掉 统计是算sum(a[i].y)即可.. 但是这样我们发现落下了一种情况,就是把 x &…