码迷,mamicode.com
首页 >  
搜索关键字:fenwick    ( 46个结果
二叉索引树BIT
定义 二叉索引树,binary index tree,又名树状数组,或Fenwick Tree,因为本算法由Fenwick创造。 对于数组A,定义Query(i,j) = Ai +Ai+1 + … + Aj. 比较好的做法:使用前缀和,Sum(j) – Sum(i-1)即可得到Query(i,j) ...
分类:其他好文   时间:2015-03-28 01:11:16    阅读次数:642
HDU 1166 敌兵布阵 树状数组
树状数组(Binary Indexed Tree(BIT), Fenwick Tree)是一个查询和修改复杂度都为log(n)的数据结构。主要用于查询任意两位之间的所有元素之和,但是每次只能修改一个元素的值;经过简单修改可以在log(n)的复杂度下进行范围修改,但是这时只能查询其中一个元素的值。这种...
分类:编程语言   时间:2015-03-04 00:59:17    阅读次数:294
士兵杀敌1(树状数组)
首先,要先讲讲树状数组:树状数组(Binary Indexed Tree(BIT), Fenwick Tree)是一个查询和修改复杂度都为log(n)的数据结构。主要用于查询任意两位之间的所有元素之和,但是每次只能修改一个元素的值;经过简单修改可以在log(n)的复杂度下进行范围修改,但是这时只能查...
分类:编程语言   时间:2015-02-20 11:56:35    阅读次数:205
BZOJ 2780 SPOJ 8093 Sevenk Love Oimaster 后缀自动机+fenwick
题目大意:给出一些字符串,给出一些询问,每次问当前串在源串中的几个中出现过。 思路:将所有源串建立广义后缀自动机。每次新的一个串的时候,把last清成root,往里面加的时候,如果last指针往下走的时候已经有节点了,就需要拓展一个新的节点出来,否则就不满足广义后缀自动机的性质。此外,每一个节点代表的不一定是一个串,可能代表的是多个串的子串,所以要在每个点后面挂链,来表示这个节点是属于哪...
分类:其他好文   时间:2015-01-21 11:52:46    阅读次数:1125
树状数组(二叉索引树 BIT Fenwick树) *【一维基础模板】(查询区间和+修改更新)
刘汝佳:《训练指南》Page(194)#include #include #include #include using namespace std;//一维树状数组基础模板int lowbit(int x){ return x&(-x);}int c[1001];int sum(int x)...
分类:编程语言   时间:2015-01-19 14:09:29    阅读次数:323
BZOJ 3744 Gty的妹子序列 分块+fenwick
题目大意:强制在线区间无修改逆序对。 思路:看到数据范围发现分块是很显然的。预处理了很多东西,比如说每个块里面的逆序对个数,还有f[i][j]表示从第i块到第j块的逆序对个数。如果仅仅处理到这里的话,后面是不太好处理的。我们还需要一个东西,是每个点对每个块的逆序对个数,并取前缀合优化。否则的话就得用主席树来乱搞,那常数 剩下就是小事了, 比如离散话啥的。。 CODE:...
分类:其他好文   时间:2014-12-15 21:54:12    阅读次数:341
BZOJ 1935 SHOI 2007 Tree 园丁的烦恼 树状数组
题目大意:给出平面中的一些点,询问平面中的一些矩形中有多少点。 思路:正常应该是二维树状数组,然后数据范围太大。所以就只能按照一个坐标排序,另一个坐标跑树状数组。注意离线操作,一个问题拆成4个。 CODE: #include #include #include #include #define MAX 500010 #define RANGE 10000010 u...
分类:编程语言   时间:2014-12-02 16:41:44    阅读次数:298
BZOJ 1103 POI 2007 大都市meg 树状数组
题目大意:给出一棵树,一开始每两个点之间都是由土路连接的,但是会有一些土路逐渐变成公路,问每次从点1开始到点k有多少土路。 思路:POI不怎么难的题,实际上每个点到1的土路的数量就是这个点的深度,在土路变成公路的时候,这个点以及子树的所有节点的深度都要-1,子树修改就很基本了,可以用DFS序+fenwick,当然要是不嫌麻烦也可以树链剖分,但是常数会比较卡。。 CODE: ...
分类:编程语言   时间:2014-11-23 14:33:43    阅读次数:197
搞定编程大赛必知哪10个算法?
动态规划(DP)似乎占据了大部分的编程竞赛题目,乃至三分之一。当然,DP也不是一个学一次就Ok的单一算法。 这还取决于你是否把数据结构与算法放在同一个等级中考虑。如果你想要在编程竞赛中一展风采的话,当然,有些数据结构是你应该熟悉的。其中最重要的有范围树(Range Tree,也被称为线段树或区间树)和树状数组(BITs),也被称作Fenwick树。除此之外,许多DP算法使用了一个前缀和数组(prefix sum array)。 能想到的最精华的单一算法如下所列,排名不分先后。绝大多数非动态规划问题似乎都...
分类:编程语言   时间:2014-10-22 15:56:48    阅读次数:208
POJ 1990 MooFest 树状数组
题目大意:Farmer John又来恶心我们了!这次他带来了一些牛,这些牛排成一列,他们的位置给出,每一个牛有一个音调。这些牛每两只牛之间都要互相交流,但是交流的时候会有一些花费,i,j两只牛的cost = max(vi,vj) * |posi - posj|。求所有牛之间互相交流的cost和。 思路:一开始我还以为是最大或者最小花费,后来仔细读题发现想多了,就是单纯的统计,但是数据范围...
分类:编程语言   时间:2014-10-16 14:54:22    阅读次数:151
46条   上一页 1 2 3 4 5 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!