码迷,mamicode.com
首页 >  
搜索关键字:fenwick    ( 46个结果
POJ 3321 Apple Tree DFS序+fenwick
题目大意:有一颗长满苹果的苹果树,有两个操作。 1.询问以一个点为根的子树中有多少个苹果。 2.看看一个点有没有苹果,如果没有苹果,那么那里就马上长出一个苹果(= =!);否则就把那个苹果摘下来。 思路:进行一次深搜,将每个节点最开始出现的时间和最后出现的时间记在一个数组里,那么这两点之间的点就是它以及它的子树的二倍,然后就用树状数组来维护区间和就行了。 CODE: ...
分类:移动开发   时间:2014-10-16 12:08:52    阅读次数:200
BZOJ 1901 Zju 2112 Dynamic Rankings 带修改主席树
题目大意:给出一个序列,单点修改,询问区间第k大。 思路:如果不带修改,那么划分树就可以解决,但是划分树是静态的树,不支持修改。带修改的主席舒其实就是外层fenwick套内层权值线段树,但是权值线段树必须动态开节点。然后修改的时候就像树状数组修改那样,每次修改logn个权值线段树。查询的时候也一样,返回logn个权值线段树统计的和。 最后为了求区间第k大,还需要二分答案。 C...
分类:其他好文   时间:2014-10-15 18:11:31    阅读次数:271
POJ 2352 Stars 树状数组
题目大意:给出y值升序的一些点,定义一个点的level值为它左下方的点的数量,求每一个level有多少个点。 思路:由于y值是升序的,那么后面的点只要判断是否x值比前面的大就行了。那么就用树状数组维护。 CODE: #include #include #include #include #define MAX 50000 using namespace std; ...
分类:编程语言   时间:2014-10-15 18:09:01    阅读次数:136
BZOJ 3038 上帝造题的七分钟2 树状数组+并查集
题目大意:一个序列,有两种操作,1.将一段数中的每一个数开根号。2.查询一段数的和。 思路:和3211是一个题,有兴趣的可以看看我的那篇博客。 CODE: #include #include #include #include #include #define MAX 100010 using namespace std; int cnt,asks; long...
分类:编程语言   时间:2014-10-15 12:16:20    阅读次数:189
BZOJ 3211 花神游历各国 树状数组+并查集
题目大意:花神对每一个国家有一个喜爱程度,有的时候他会对连续的一段国家进行访问,求他的喜爱程度的和;有的时候他会对连续的一段国家产生厌恶,喜爱程度变成sqrt(x)下取整。 思路:乍一看好像是RMQ问题,用线段树就可以水过,但是开根号的标记怎么下传?这是一个严重的问题,所以我们要换一个思路。 注意到开根号有一个有趣的性质:sqrt(1) = 1,sqrt(0) = 0,而且所有的数字经过有...
分类:编程语言   时间:2014-10-15 11:44:08    阅读次数:216
树状数组
树状数组树状数组(Binary Indexed Tree(BIT), Fenwick Tree)是一个查询和改动复杂度都为log(n)的数据结构。主要用于查询随意两位之间的全部元素之和,可是每次仅仅能改动一个元素的值;经过简单改动能够在log(n)的复杂度下进行范围改动,可是这时仅仅能查询当中一个元...
分类:其他好文   时间:2014-07-07 13:13:05    阅读次数:166
46条   上一页 1 ... 3 4 5
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!