码迷,mamicode.com
首页 >  
搜索关键字:树状    ( 5251个结果
树状数组(二)
题目链接:HOJ 2275题意分析:给你一个大小为50000的数组a,要求在1秒内求出数组中满足{ i < j < k , ai ak }的组合数。(0 <= ai <= 32768)解题思路:虽然数组很大,但是数组里的数很小啊,所以桶排一下,然后树状数组求和就行了: 首先我们已经在HDU 1541这题中学会了怎么求在ai前面比ai小的数的量了,那么这题就是求在ai前面比ai小的数的...
分类:编程语言   时间:2015-03-29 10:52:13    阅读次数:146
树状数组
树状数组主要用于快速的更改某个点的值和查询某个区间的和,是一种比较小巧的数据结构.先看下图: 假设数组A[]是我们要操作的对象,则数组C[]则是数组A[]相对应的树状数组.观察上图,我们得到数组C[]前八个值: C[1]=A[1] C[2]=A[1]+A[2] C[3]=...
分类:编程语言   时间:2015-03-29 00:27:44    阅读次数:145
BZOJ-2716-天使玩偶angel-CDQ分治
描述 先给出n个点, 然后有m个操作, (1, x, y) 表示查询离(x, y)最近点的曼哈顿距离, (2, x, y) 表示插入点 (x, y). 分析 不会做... 又照着别人的代码打了一遍... CDQ分治总想不到思路比较关键的几个地方是 : 1. 坐标的范围是小于1000000的所以可以用树状数组维护. 2. 距离点(x, y)最近的点和x的方位有四种, 左下左上右...
分类:其他好文   时间:2015-03-28 15:49:30    阅读次数:188
树状数组(初识)
参考:树状数组简述:一个用来求数组列前缀和的数据结构,可以在O( log(n) )的时间内得到数列的任意前缀和,同样以相同时间对某项加一个常数,是一个很强大的数据结构。认识:有段时间一直以为树状数组就是普通的数组,只不过可以用它来存储二叉查找树,后来才知道这货其实是一个很难的东西。不过说难,其实它也是一个蛮简单、蛮好入手的一个东西——关键代码相当简洁,只是有点难以理解,但是,用一个图就可以表达清楚了...
分类:编程语言   时间:2015-03-28 14:23:10    阅读次数:177
【BZOJ3211】花神游历各国 树状数组 并查集 均摊分析
题解: 一个点开几次方就没啦。所以我们只需要修改不是0或者1的点就行了。 均摊基本O(n)O(n)。 然后用并查集维护一个点右边第一个不是0的数。 手写读入果然高大上。卡rank神器。 顺便Orz一下wys大神。 代码: #include #include #include #include #include #define N 100100 using namespace...
分类:编程语言   时间:2015-03-28 08:53:33    阅读次数:195
二叉索引树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
Apple Tree(需要预处理的树状数组)
Apple TreeTime Limit: 2000MSMemory Limit: 65536KTotal Submissions: 20335Accepted: 6182DescriptionThere is an apple tree outside of kaka's house. Every...
分类:移动开发   时间:2015-03-21 21:20:31    阅读次数:249
hdu1394 Minimum Inversion Number 线段树和树状数组
题意: 输入一个长度 n 第二行给出长度为n的数组,数组的值刚好为0到n-1这n个数。 然后每次把数组的第一个数放到最后一个,放n-1次,共有n个排列,这n个排列就有n个逆序数,输出这n个逆序数的最小值。我的做法:1、每次输入a[i]后,都把a[i] ++;2、求出第一个排列的逆序数3、递...
分类:编程语言   时间:2015-03-21 12:32:52    阅读次数:130
Linux入门基础分享[二]【更新中。。。】
*linux下的文件目录(cd /切换到根目录,输入ls或者dir) linux的文件系统是采用级层式的树状目录结构,在此结构中的最上层是根目录“/”,然后在此目录下再创建其他的目录。 root:存放root用户的相关文件 home:存放普通用户的相关文件 bin:存放常用命令的目录...
分类:系统相关   时间:2015-03-21 12:28:33    阅读次数:165
BZOJ 3658 Jabberwocky 可持久化线段树+分治
题目大意:给定平面上n个点,一共有k种颜色,要求选定一条线段,并选取线段正上方或正下方的所有点,要求不能出现所有颜色的点,求最多选择多少点 正解是双向链表+树状数组? 让我们来点优雅的做法 由于不能出现所有颜色的点 因此一定有至少一种颜色不出现 我们可以枚举这个不出现的颜色 现在我们搞出所有极大子矩形 这个分治就好了。。。 假设我们现在求的是一条线段下方的点 那么我们考...
分类:其他好文   时间:2015-03-20 22:10:33    阅读次数:176
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!