E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
——树状数组
poj1716
利用
树状数组
统计该区间已被选中了多少数字。
·
2015-11-08 14:34
poj
HDU4742----Pinball Game 3D(三维LIS、CDQ分治)
z方向离散化之后用
树状数组
维护就可以了。
·
2015-11-08 14:37
game
HDU5126---stars (CDQ套CDQ套
树状数组
)
题意:Q次操作,三维空间内 每个星星对应一个坐标,查询以(x1,y1,z1) (x2,y2,z2)为左下顶点 、右上顶点的立方体内的星星的个数。 注意Q的范围为50000,显然离散化之后用三维BIT会MLE。 我们可以用一次CDQ把三维变成二维,变成二维之后就有很多做法了,树套树,不会树套树的话还可以继续CDQ由二维变成一维,,变成一维了就好做了,,最基本的数据结构题目了。。 不得不说、CDQ
·
2015-11-08 14:35
树状数组
HDU5141--LIS again (LIS变形)
然后线性扫一遍,,线段树与
树状数组
的差距还是蛮大的,,线段树900+MS,险些超时,而
树状数组
仅仅400+MS 代码里注释部分为线段树做法。
·
2015-11-08 14:32
HDU
Acdream1157---Segments (CDQ分治)
陈丹琦分治~~~其实一些数据小的时候可以用二维或者多维
树状数组
做的,而数据大的时候就无力的题目,都可以用陈丹琦分治解决。
·
2015-11-08 14:30
cd
BZOJ1176---[Balkan2007]Mokia (CDQ分治 +
树状数组
)
题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1176 CDQ第一题,warush了好久。。 CDQ分治推荐论文: 1 《从<Cash>谈一类分治算法的应用》 陈丹琦 2 《浅谈数据结构题的几个非经典解法》 许昊然 关于CDQ分治,两种要求:①操作不相互影响 ②可以离线处理 题目描述是有问题的,,初始时
·
2015-11-08 14:28
2007
HDU5125--magic balls(LIS)
最多交换mci; 赤果果的dp啊,可是这个题用线段树的话却会TLE,,由于查询的只是1-x的最大值 因此我们可以用
树状数组
来查询最值,话说
树状数组
真的比线段树快乐好多啊。
·
2015-11-08 14:27
HDU
SPOJ3267--D-query (主席树入门练习)
两种做法,一种是
树状数组
离线,另一种就是主席树。
·
2015-11-08 14:18
query
SPOJ3267--D-query (
树状数组
离线操作)
题意查询区间 [l,r]内有多少个不同的数字 先把所有询问按 右端点进行排序,然后离线操作。如果该位置的数字 已经出现过那么把前一个位置-1,当前位置+1。扫一遍输出。 1 #include <cstdio> 2 #include <string> 3 #include <vector> 4 #include <cstdlib>
·
2015-11-08 14:16
query
POJ3468---A Simple Problem with Integers
此题简单的做法自然是 线段树 或
树状数组
,splay只是为了练手。。依旧 是学习bin神的模板,写了一发之后理解更深了。
·
2015-11-08 14:00
Integer
BZOJ 3529 数表(莫比乌斯+
树状数组
)
思路:首先求出每个数字的约数之和,(i,sumFactor[i]),将这些二元组升序排序,将所有sumFactor小于等于a的插入
树状数组
,
·
2015-11-08 11:00
树状数组
POJ 2464 Brownie Points II(
树状数组
)
题目链接:http://poj.org/problem?id=2464 题意:平面上有n个点。Stan选一个点A画一条垂线经过A(x值与A相同的点也会被穿过),Ollie在这条垂线所穿过的点中选一个点B用一条水平线穿过它,这样把平面分到四个区域,Stan的得分为右上和左下的点的个数,Ollie为右下和左上的点的个数。Stan先画。Stan选点的策略是使得在Ollie画完后(Ollie可能有好多选
·
2015-11-08 11:47
树状数组
HDU 4417 Super Mario(划分树)
思路:比赛时我用的
树状数组
A的。后来发现有人用划分树,我是第一次看到划分树,就学习一下。
·
2015-11-08 11:09
super
1103 POI2007 大都市meg
树链剖分水过,单点修改,
树状数组
即可。
·
2015-11-08 11:00
2007
ACM的基本要求
最低要求: SPFA ,dijkstra,prim, Kruskal, floyd,Bellman-Ford 二分图匹配,拓扑排序,欧拉回路通路,并查集,
树状数组
,线段树,各种背包,二叉树,KMP
·
2015-11-08 11:50
ACM
1057. Stack (30)
分析: 考察
树状数组
+ 二分, 注意以下几点: 1.题目除了正常的进栈和出栈操作外增加了获取中位数的操作, 获取中位数,我们有以下方法: (1):每次全部退栈,进行排序
·
2015-11-08 10:06
stack
集训final G
树状数组
+二分查找
需要记得开一个数组存储数据以节省查询时间。。输入输出printf,scanf是必须滴。(这一次是数据小) #include<iostream> using namespace std; typedef long long int llint; const llint MAXN=100003; llint tree[MAXN]; llint value[MAXN];
·
2015-11-08 10:47
final
hdu1892
树状数组
按理来说应该会有二维的
树状数组
的算法吧。。可是我不知道。。于是就用一维的方式在累加了。。时间复杂度大概在o(m*n*log(n))。。
·
2015-11-08 10:41
树状数组
codeforces589G - Hiring(好题)
问一个工作者最多可以在第几天完成他的工作一天工作之前必须先要准备xi的时间由题意可知,要想完成这份工作,一定要在ti>xi的天数中做工作已经知道了哪几天这个人会去工作,那么显然二分答案所以问题便成为了求哪几天他会去工作,所以联想到用
树状数组
去维护
acm_fighting
·
2015-11-07 21:00
二维
树状数组
详解
id=4804当要频繁的对数组元素进行修改,同时又要频繁的查询数组内任一区间元素之和的时候,可以考虑使用
树状数组
.通常对一维数组最直接的算法可以在O(1)时间内完成一次修改,但是需要O(n)时间来进行一次查询
暗金色
·
2015-11-07 19:07
ACM-模版-论文
【
树状数组
(二叉索引树)】轻院热身—candy、NYOJ-116士兵杀敌(二)
【概念】 转载连接:
树状数组
讲的挺好。 这两题非常的相似,查询区间的累加和、更新结点。
·
2015-11-07 14:09
树状数组
hdu 1394 Minimum Inversion Number
线段树 or
树状数组
or 归并排序 一个关于逆序数的问题。输入n,下面给出n个数字,分别是0到n-1,顺序不定。问你逆序数是多少?
·
2015-11-07 13:11
version
HDU 4638 Group 【
树状数组
,分块乱搞(莫队算法?)】
题解上面给的是用
树状数组
维护的。
·
2015-11-07 12:34
group
poj2182
题意:1~n,乱序排列,告诉每个位置的前面的数字中比它小的数的个数,求每个位置的数字是多少 分析:用
树状数组
来做,第i位如果是1,表示i在数列中的位置已经确定。
·
2015-11-07 12:20
poj
poj2155
二维
树状数组
,对于一个矩阵,迅速修改其一个点的值,迅速求其左上角连续子矩阵的和。对于每个翻转修改矩阵的四个角,对于询问求出该点的左上角矩阵和看奇偶性。
·
2015-11-07 12:18
poj
poj2352_II和III
这个题的第二个版本: 同2299_II,也是压缩到1--n范围内,找出已知序列的相对顺序,然后构建
树状数组
。这里也需要一个辅助的数组。
·
2015-11-07 12:37
poj
poj2481_
树状数组
题意:FJ有n头牛(编号为1~n),每一头牛都有一个测验值[S, E],如果对于牛i和牛j来说,它们的测验值满足下面的条件则证明牛i比牛j强壮:Si <= Sj and Ej <= Ei and Ei - Si > Ej - Sj。现在已知每一头牛的测验值,要求输出每头牛有几头牛比其强壮。 分析:将[s,e]看成是而为坐标轴的横纵坐标,画出各个点,我们发现答案就是每个点左上的点
·
2015-11-07 12:36
树状数组
poj2299_
树状数组
II
这个题做过了,今天是
树状数组
的另一个版本。 分析: 例如 9 1 0 5 4 一般数据小的话,我们求每个数字前面小于等于它的个数,只需要离散到大于等于1的范围内。
·
2015-11-07 12:36
树状数组
poj2182_线段树
分析:用
树状数组
可以求出某一个序列中所有左边小于等于array[]的个数。这个题正好相反,已知每个数左边小于它的个数,求这个序列。用
树状数组
也可以做,但是没有线段树好理解。
·
2015-11-07 12:35
poj
poj2352_
树状数组
+离散化
从poj2299,知道
树状数组
可以用来求一个排列中array[i]前面小于等于array[i]的个数。
·
2015-11-07 12:34
树状数组
poj2299_
树状数组
分析:以前用分治的思想写的,这次用
树状数组
。
·
2015-11-07 12:33
树状数组
HDU5196--DZY Loves Inversions
树状数组
逆序数
(ri对应代码中的cnt数组) 显然ri单调不降,我们可以通过用两个指针扫一遍,利用
树状数组
计算出r数组。 对于每个询问L,R,我们要计算的是∑i=LR
·
2015-11-07 12:54
version
树状数组
概念:
树状数组
是一个查询和修改复杂度都为log(n)的数据结构 结构: c【8】=a1+a2+a3。。。。a8。
·
2015-11-07 11:24
树状数组
树状数组
树状数组
基本概念 假设数组a[1..n],那么查询a[1]+...+a[n]的时间是log级别的,而且是一个在线的数据结构,支持随时修改某个元素的值,复杂度也为log级别。
·
2015-11-07 11:50
树状数组
POJ 3468(
树状数组
的威力)
之前说过这是线段树的裸题,但是当看了http://kenby.iteye.com/blog/962159 这篇题解后我简直震惊了,竟然能如此巧妙地转化为用
树状数组
来处理,附上部分截图(最好还是进入原网址细细品味
·
2015-11-07 10:02
树状数组
POJ 1990 MooFest
树状数组
这题是我看了大白书
树状数组
后刷的第一道题,确实难度不小,所以只好上网找题解了,网上的做法确实精彩。
·
2015-11-07 10:00
树状数组
GOJ 1132[
树状数组
]
[查看题目] 什么是
树状数组
?既然是数组,怎么可能是树状的? 当然可以!
·
2015-11-07 10:02
树状数组
树状数组
二)”要向上修改,向下统计;一般是修改某个位置上的值,查找的是一段区间的和;二、插线问点,如“士兵杀敌(四)”要向上统计,向下修改;一般是修改一段区间的值,查找的是某个位上的值; 下图中的C数组就是
树状数组
·
2015-11-07 10:25
树状数组
HDU HDOJ5412(树套树or整体二分
思路:题解说的是
树状数组
套treap,然而没想通
树状数组
怎么维护。。。
PlusSeven
·
2015-11-07 01:00
poj2299
树状数组
View Code #include < iostream > #include <
·
2015-11-06 08:57
poj
二叉索引树BIT
定义 二叉索引树,binary index tree,又名
树状数组
,或Fenwick Tree,因为本算法由Fenwick创造。
·
2015-11-06 08:49
bit
[hdu5101]计数问题
ans=从所有数里面取两个数的方案数-从每个集合里面取两个数的方案数(这是关键) 如果不转换也可以这么做,离散一下,然后
树状数组
统计也行,具体见代码。
·
2015-11-06 07:38
HDU
【HDU4991】
树状数组
http://acm.hdu.edu.cn/showproblem.php?pid=4991 用f[i][j] 表示 前i个数以第i个数结尾的合法子序列的个数,则递推式不难写出: f[i][j] = sum(f[k][j - 1]); 其中 k < i, 且a[k] < a[i]; 边界:f[i][1] = 1;
·
2015-11-06 07:29
树状数组
poj 2985 并查集+
树状数组
求第k大数
#include #include #definelowbit(i)i&(-i) #definemaxn300000 usingnamespacestd; inta[maxn],c[maxn],p[maxn]; intfd(intx) { returnx==p[x]?x:fd(p[x]); } voidupdate(intx,intval) { while(x=0;i--)
weiqingliu
·
2015-11-05 16:00
ACM
树状数组算法
HDU 1892 See you~
一道二维的
树状数组
题:这里要注意初始化, View Code #include<iostream> #include<cstdio> #include<cstdlib
·
2015-11-05 08:19
HDU
HDU 3584 Cube
三维的
树状数组
:对单点更新,跟二维的一样: View Code #include<iostream> #include<cstdio> #include<cstdlib
·
2015-11-05 08:18
cube
poj 1195 Mobile phones
可以用二维线段树与二维
树状数组
做: 二位数状数组: View Code #include<iostream> #include<cstdio> #include
·
2015-11-05 08:17
mobile
poj 2352 Stars
大致题意:给定一组点,问二维空间中各个点的等级是多少,点的等级定义如下:其左下方点的个数 用的是
树状数组
,别人说是
树状数组
的入门题目,我看了好多遍都没能非常理解,最后基本上是把代码背下来了,
·
2015-11-03 22:28
tar
HDU 3015 Disharmony Trees 【
树状数组
】
题意:给出n棵树,给出横坐标x,还有它们的高度h,先按照横坐标排序,则它们的横坐标记为xx, 再按照它们的高度排序,记为hh 两颗树的差异度为 abs(xx[i] - xx[j]) * min(hh[i],hh[j]),求所有的差异度的和 和上面一道题一样,只不过这题是要Min的值,就将h从大到小排序,保证每一个h都是当前最小的 然后维护比当前x小的坐标的个数,当前区间的总
·
2015-11-03 21:06
tree
POJ 1990 MooFest【
树状数组
】
题意:给出n头牛,每头牛有一个听力v,坐标x,两头牛之间的能量为max(v1,v2)*dist(v1,v2),求总的能量值 先将每头牛按照v排序,排完顺序之后,会发现有坐标比当前的x小的,会有坐标比当前的x大的 假设坐标比x小的有num个 那么 距离之和 = x*num - 前面坐标的和 + 后面坐标的和 - (n-num-1)* x 又因为 后面坐标的和 = 整个区间坐标的
·
2015-11-03 21:05
树状数组
上一页
81
82
83
84
85
86
87
88
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他