poj2352】的更多相关文章

题目链接: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的个…
题意:输入一n颗星星的x,y坐标,给定判断level的标准,即某颗星星左下边(不高于它,不超过他,相当于以他为基准的第三象限)星星的数目为level, 输出level从0到n的星星个数. //poj2352 #include <iostream> #include <string> #include <cstring> #include <queue> #include <vector> #include <cstdio> using…
https://vjudge.net/problem/POJ-2352 分析: 由于是按照y坐标的升序,y坐标向等的按x的升序的顺序给出星星.那么某个星星的等级数就是在他前面x坐标小于等于他的x坐标的星星的个数. 暴力的时间复杂度为n^2,超时 所以我们要记录前面所有x坐标出现的次数.然后要求出[0,xi]出现的和. 这就是静态二叉检索树 的标准问题了. #include <iostream> #include <cstdio> #include <cstring> #…
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…
题目大意:有n个点的一棵树,每个点有两个值:w和c.现在要在其中若干点建立消防站,使得每个点到最近的消防站的距离不超过该点的c值,i点建立消防站的费用为w.求最小费用. 分析:本题显然是树型Dp.定义状态为f[i][j]表示i节点最近的消防站为j且子树i均满足条件的最小费用,该费用包含了w[j],即使j不在子树i内. f[i][j]=∑(min(f[k][j]-w[j],best[k]))+w[j] {k是i的儿子节点,j是离i最近的消防站,且j在子树i外,或j=i.} 其中best[k]表示m…
http://poj.org/problem?id=2352 这道题的题意对于住学者应该比较难理解,但是如果弄明白他的意思的话,你就会发现这就是赤裸裸的树状数组,哎,欺负我不懂是吧,当时读题读啦好久,好啦,下面说一下他的意思吧.. 由于题目已经说明y的坐标是递增顺序,所以直接考虑x的坐标就可以啦.每次当有x输入时,都求出sum(x+1)的值(注意呦,在树状数组中,可是从1开始的,而题目中的输入是包含0的),并把result[sum(x+1)]++:再更新一下,就好啦啦啦啦. 还是要注意一点,用c…
纪念树状数组初步(……): 这题已经给了y升序,y相同时x升序,(yeah) 所以容易想到O(n^2)的模拟算法: 其实分析一下就是对于当前xi,统计之前有多少个小于等于xi(因为已经保证了没有相同坐标的点) 初学者(比如我),一开始感觉和树状数组没毛关系,但是…… 仔细想想发现,树状数组是修改和区间求值的,我们能不能将问题转化呢? 可以!这里用到类似计数排序的思想,a数组表示对x可能出现的范围内中每个数表示的次数: 则:对于当前xi,之前小于等于xi的个数就等于sigma(a[0]~a[x[i…
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. As…
http://poj.org/problem?id=2352 #include <cstdio> #include <cstring> #define maxn 400000 using namespace std; int c[maxn],leve[maxn],a,b,n; int lowbit(int x) { )); } void add(int x,int m) { while(x<=maxn) { c[x]+=m; x+=lowbit(x); } } int sum…
题目 Stars Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 34016   Accepted: 14839 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…