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
——树状数组
经典算法题每日演练——第十二题 线段树
原文: 经典算法题每日演练——第十二题 线段树 这一篇我们来看
树状数组
的加强版线段树,
树状数组
能玩的线段树一样可以玩,而且能玩的更好,他们在区间求和
·
2015-11-13 16:47
线段树
经典算法题每日演练——第十题
树状数组
原文: 经典算法题每日演练——第十题
树状数组
有一种数据结构是神奇的,神秘的,它展现了位运算与数组结合的神奇魅力,太牛逼的,它就是
树状数组
·
2015-11-13 16:45
树状数组
AC题目简解-数据结构
A - Japan POJ 3067 要两条路有交叉,(x1,y1)(x2,y2)那么需要满足:(x1-x2)*(y1-y2)<0判断出这是求逆序的问题
树状数组
求逆序
·
2015-11-13 16:00
数据结构
poj2352 stars
树状数组
因为输入时是按y值是递增的,所以直接用x(x也是递增的)来构建
树状数组
,接下来其实就是统计x 前面有多少个比它少的数。
·
2015-11-13 16:57
树状数组
树状数组
http://www.cnblogs.com/yykkciwei/archive/2009/05/08/1452889.html
树状数组
问题提出:已知数组a[],元素个数为n,现在更改a
·
2015-11-13 16:56
树状数组
poj 3321 Apple Tree
树状数组
伸手便 该题主要问题是如何把一棵树转化为
树状数组
,之后便可以直接运用
树状数组
来求区间的和。转化的方法是用dfs深搜遍历树,每一个结点要做两次标
·
2015-11-13 16:55
apple
树状数组
求正序数与逆序数-hdu Minimum Inversion Number
/* 数组初始化为0后 插入1 统计的即为正序数 C(n,2)-正序数为逆序数 又题意求的为最小的逆序数 且变换规则为 a1, a2, ..., an-1, an (where m = 0 - the initial seqence) a2, a3, ..., an, a1 (where m = 1) a3, a4, ..., an, a1, a2 (where m = 2)
·
2015-11-13 15:58
version
Zoj 3635 <
树状数组
+二分>
用
树状数组
表示当前位置前有
·
2015-11-13 15:20
树状数组
树状数组
求逆序和模板
C++ code: #include <iostream> #include <cstdio> #include <algorithm> #include <cstring> #define lowbit(i) (i & -i); using namespace std; struct lines { long
·
2015-11-13 15:01
树状数组
BZOJ 2743[HEOI2012]采花
从1~n扫,维护pt[i]表示i向左第一个和a[i]相等的数字的位置,扫到i的时候实时更新
树状数组
:c[pt[pt[i]]+1]~c[pt[i]]区间+1(pt[i]!
·
2015-11-13 14:34
2012
TYVJ 1476 三维
树状数组
裸题~ 注意三维的前缀体积怎么算就好 View Code 1 #include <cstdio> 2 #include <cstring> 3 #include <cstdlib> 4 5 #define N 120 6 7 using namespace std; 8 9 int n,c[N
·
2015-11-13 14:22
树状数组
POJ 2019 二维RMQ
不要听到“二维”就想到二维线段树,应该想到二维
树状数组
(指变成复杂度) 二维RMQ 和就是在一维的基础上及一层循环 详见代码~ View Code 1 #include
·
2015-11-13 14:18
poj
TYVJ 1744 逆序对数(加强版)
思路: 与a有关的逆序对数=(在a之前出现的比a大的数+在a之后出现的比a小的数)/2 当我们删除a时,减少的是 与a有关的逆序对数,当我们把a的位置填充b时增加的是 与b有关的逆序对数,可以用
树状数组
求
·
2015-11-13 14:14
T
POJ 3378
树状数组
+DP+离散化+高精度
题意:给你一个序列,求其中长度为5的递增序列的个数(N<=50000) 这题的dp的方法挺经典的,方程大家应该都会写(那个N^2的),我就不再赘述,这里巧妙地运用了
树状数组
求和
·
2015-11-13 14:12
树状数组
POJ 1990
树状数组
题意:题意:FJ有n头牛,排列成一条直线(不会在同一个点),给出每头牛在直线上的坐标x。另外,每头牛还有一个自己的声调v,如果两头牛(i和j)之间想要沟通的话,它们必须用同个音调max(v[i],v[j]),沟通起来消耗的能量为:max(v[i],v[j]) * 它们之间的距离。问要使所有的牛之间都能沟通(两两之间),总共需要消耗多少能量。 这个题看着数
·
2015-11-13 14:10
树状数组
POJ 3321(
树状数组
)
呵呵
树状数组
。那怎么把这颗树拍平呢(转换成1维数组)?
·
2015-11-13 14:01
树状数组
Hdu 1556 成段更新.cpp
思路: 正常做法是 从 a 到 b 每个数+1 不正常做法是 用
树状数组
在a的地方+1 在b的地方-1 然后求某个数 k 的值的时候就求从1~k的和.. Tips:
树状数组
的应用..
·
2015-11-13 14:32
HDU
BZOJ 2120
树状数组
套平衡树
题解: 每个数第一次出现时随便改成pos-n,之后改成前一次出现的位置。询问的时候查找一个区间中比左端点小的数的个数 吐槽: 尼玛数组越界了查了一晚上+半个下午。 树套树这种东西真难查错! 我多插入了很多没有用的节点,所以就慢了点,不过省代码~ View Code 1 #include <iostream> 2 #incl
·
2015-11-13 14:18
树状数组
BZOJ 1901
树状数组
+函数式线段树
题解: 带单点更新的区间第k大~ 函数式线段树秒杀了~ 与不带修改的函数式线段树唯一不同的在于线段树中的每个结点维护的都是这个位置的结点的
树状数组
值~ 然后自己随便怎么胡搞啊神马的就nlog^2n
·
2015-11-13 14:15
树状数组
Codeforces Round #FF 446 C. DZY Loves Fibonacci Numbers
www.cnblogs.com/chanme/p/3843859.html 然后我看到在别人的AC的方法里还有这么一种神方法,他预先设定了一个阈值K,当当前的更新操作数j<K的时候,它就用一个类似于
树状数组
段更的方法
·
2015-11-13 14:13
codeforces
hdu 2642 二维
树状数组
单点更新区间查询 模板水题
Stars Time Limit: 5000/2000 MS (Java/Others) Memory Limit: 32768/65536 K (Java/Others) Total Submission(s): 785 Accepted Submission(s): 335 Problem D
·
2015-11-13 13:44
树状数组
hdu 4417 Super Mario
pid=4417 线段树 or
树状数组
都可以 先把问题 和 和 砖块 分别按高度排序 在求解区间答案时 根据要求的高度 将小于这个高度的砖块全部插入 再求解即可 代码: #include
·
2015-11-13 13:26
super
[poj 2991]Crane[线段树表示向量之和,而非数量]
树状数组
亦可...) 将向量视为数量整体加和
·
2015-11-13 12:41
poj
hdu 4331 Image Recognition
这次比赛的题怎么回事 该超时的不超时 不该超的超了 比如说第四题 用二分 我感觉就应该让过的 他就是不让用哈希就过了 骑士那题结果dfs就过了 这个第一题吧 标程里面解析的 离散+
树状数组
那部分我没看懂
·
2015-11-13 12:31
image
杭电 3887 Counting Offspring
根据上篇翻译的文章以及很多个帖子,都讲述了
树状数组
最基本的功能就是tree[i]保存的是位置i左边小于等于a[i]的数的个数.
·
2015-11-13 12:27
spring
poj 2155
题目链接 二维
树状数组
给出矩阵左上角和右下角坐标,矩阵里的元素 1变0 ,0 变1,然后给出询问,问某个点是多少。
·
2015-11-13 12:33
poj
poj 3378 Crazy Thairs
id=3378 要想求以第k个数为5个数中最后一个数的组合数量 就要求从1到k-1这些数中比第k个小且是4个数中最后一个数的这些组合数量 之和 依次类推 求和用
树状数组
来维护 最后结果可能超
·
2015-11-13 12:45
AIR
【BZOJ】1636: [Usaco2007 Jan]Balanced Lineup(rmq+
树状数组
)
http://www.lydsy.com/JudgeOnline/problem.php?id=1636 (我是不会说我看不懂题的) 裸的rmq。。 #include <cstdio> #include <cstring> #include <cmath> #include <string> #include <iostream
·
2015-11-13 11:35
USACO
【BZOJ】1699: [Usaco2007 Jan]Balanced Lineup排队(rmq/
树状数组
)
id=1699 我是用
树状数组
做的。。rmq的st的话我就不敲了。。
·
2015-11-13 11:31
USACO
【BZOJ】1818: [Cqoi2010]内部白点(
树状数组
+离散+特殊的技巧)
http://www.lydsy.com/JudgeOnline/problem.php?id=1818 这一题一开始我就看错了,bzoj的那个绝对值109简直坑人,应该是10^9,我直接写了个暴力。。简直感人。 然后看题解,看了挺久,,,,后来明白了。。 首先我们离散x轴,这样将数量级降到n。 然后我们知道,黑点在一秒内就会全部出来了,不可能有黑点在一秒后再由新的黑点组成,这点显而易见。
·
2015-11-13 11:22
树状数组
【BZOJ】1878: [SDOI2009]HH的项链(
树状数组
)
http://www.lydsy.com/JudgeOnline/problem.php?id=1878 我太弱了,看题解才过的。 一开始看到此题,我想了想在线做法,但之后觉得这个想法可能是错的:维护一颗splay,按输入顺序建树,将相同节点缩点,维护2个值,一个是size,为节点数量,一个是size2,为不同节点数量,然后取区间操作即可。但是后来想想,此方法应该不行,因为在掉区间的时候,
·
2015-11-13 11:52
树状数组
线段树
通过一个
树状数组
来维护线段树,在区间求和和单点更新只需要维护个sum的树状即可,sum[1]表示1为根的区间[1, n]的和 因为是
树状数组
,就不用记他的区间,用左孩子 rt/2 和右孩子 rt/2+
·
2015-11-13 11:38
线段树
poj 3321 Apple Tree
id=3321 题目大意: 给你N个点组成的树 每个点初始化为1 有两种操作 C x:改变点的值 是1变0 是0变1 Q x:问以x为根的子树上点值的和 思路: 主要是把树映射到
树状数组
中
·
2015-11-13 11:17
apple
poj 1195 Mobile phones
id=1195 二维
树状数组
就是比一维的多了一维而已 关键在理解 代码: #include<iostream> #include<cstdio>
·
2015-11-13 11:16
mobile
poj 2352 Stars
id=2352 题目大意: 给出N个点 点的顺序是按y非递减给出的 level是这个点左下方点的个数 求各个level的数量 思路: 由于给的点有顺序 所以就简单了 一般用
树状数组
或线段树就可以
·
2015-11-13 11:15
tar
【BZOJ】3289: Mato的文件管理(莫队算法+
树状数组
)
http://www.lydsy.com/JudgeOnline/problem.php?id=3289 很裸的莫队。。。 离线了区间然后分块排序后,询问时搞搞就行了。 本题中,如果知道$[l, r]$后,考虑如何转移$[l, r+1]$,发现就是$a[r+1]$的颜色在这个区间的排名,然后$r-l+1-排名$就是需要移动的次数。 那么本题中因为只需要裸的排名,所以可以考虑用bit,即离散
·
2015-11-13 11:01
树状数组
【BZOJ】1047: [HAOI2007]理想的正方形(单调队列/~二维rmq+
树状数组
套
树状数组
)
id=1047
树状数组
套
树状数组
真心没用QAQ。。。。首先它不能修改。。而不修改的可以用单调队列做掉,而且更快,只有O(n^2)。而这货是n^2log^2n的建树。。。虽然查询是log^2n。。。
·
2015-11-13 11:25
2007
【BZOJ】1901: Zju2112 Dynamic Rankings(区间第k小+
树状数组
套主席树)
http://www.lydsy.com/JudgeOnline/problem.php?id=1901 首先还是吐槽时间,我在zoj交无限tle啊!!!!!!!!我一直以为是程序错了啊啊啊啊啊啊。 bzoj提交是wa!!T_T,将数组改大就acT_T 吐槽完毕。 这题之前做过,用树套树做的,但是时间感人(http://www.cnblogs.com/iwtwiioi/p/387059
·
2015-11-13 11:59
dynamic
【BZOJ】1146: [CTSC2008]网络管理Network(树链剖分+线段树套平衡树+二分 / dfs序+
树状数组
+主席树)
http://www.lydsy.com/JudgeOnline/problem.php?id=1146 第一种做法(时间太感人): 第二种做法(rank5,好开心) ================================8-20=============================== 这题我真的逗了,调了一下午,疯狂造数据,始终找不到错。 后来发现自己s
·
2015-11-13 11:58
NetWork
【BZOJ】3196: Tyvj 1730 二逼平衡树(区间第k小+树套树)
id=3196 Treap+
树状数组
1WA1A,好伤心,本来是可以直接1A的,这次开始我并没有看题解,就写出来了,但是没有处理多个节点相同的情况,添加了多值单节点后,我竟然过不了样例,一直在调
·
2015-11-13 11:48
ZOJ
【BZOJ】1901: Zju2112 Dynamic Rankings(区间第k小+树套树)
id=1901 这题调了我相当长的时间,1wa1a,我是第一次写树套树,这个是
树状数组
套splay,在每个区间维护一棵树,然后将小于key的数量累计起来,因为这种做法不能直接找第k大,而要二分然后来判断排名是否
·
2015-11-13 11:47
dynamic
【BZOJ】1012: [JSOI2008]最大数maxnumber(
树状数组
+rmq)
id=1012
树状数组
原来我只懂得sum和add的操作,今天才知道可以有求区间最值的操作,我学习了一下写了个,1a了。
·
2015-11-13 11:46
number
hdu 4638 Group
[L,R]中有多少个连续的段 若每一个人都是一个段 那么[L,R]中每一个朋友关系就会减少一个段(因为它将两个段合并了) 我们把每个朋友关系变成一个边 要求[L,R]有多少个边 可以用到 离散化+
树状数组
·
2015-11-13 10:23
group
hdu 4630 No Pain No Game
pid=4630 离散化+
树状数组
将数组 *a 从后向前遍历 遍历到 a[x] 的时候 再枚举a[x]的约数 假如 约数 k last[k] 对应到 上一个k出现的位置
·
2015-11-13 10:22
game
小结:线段树 & 主席树 &
树状数组
概要: 就是用来维护区间信息,然后各种秀智商游戏。 技巧及注意: 一定要注意标记的下放的顺序及影响!考虑是否有叠加或相互影响的可能! 和平衡树相同,在操作每一个节点时,必须保证祖先的tag已经完全下放。 size值的活用:主席树就是这样来的。支持区间加减,例题和模板:主席树 01(就是更新和不更新等这种对立操作)情况:我们就要在各个更新的操作中明白一件事,那就是总和不变。假设维护的是si
·
2015-11-13 10:43
树状数组
HDU 3584 三维
树状数组
三维
树状数组
模版。优化不动了。
·
2015-11-13 08:13
树状数组
BZOJ 3110([Zjoi2013]K大数查询-区间第k大[段修改,在线]-
树状数组
套函数式线段树)
3110: [Zjoi2013]K大数查询 Time Limit: 20 Sec Memory Limit: 512 MB Submit: 418 Solved: 235 [ Submit][ Status][ Discuss] Description 有N个位置,M个操作。操作有两种,每次
·
2015-11-13 08:30
树状数组
HDU 4630 No Pain No Game(2013多校3 1010题 离线处理+
树状数组
求最值)
No Pain No Game Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 17 Accepted Submission(s): 5 Proble
·
2015-11-13 07:45
game
hdu 4267 A Simple Problem with Integers
题目链接:hdu 4267 A Simple Problem with Integers 类似于题目:hdu 1556 Color the ball 的技巧实现
树状数组
的段更新点查询
·
2015-11-13 07:54
Integer
hdu 1394 Minimum Inversion Number
可以使用
树状数组
来实现。对于$n$个数的序列$A$,其第$i$个数($i\in [0,n)$)的逆序数$r_i$可以表示为它的角标$i$减去在它之前且不大于它的数的个数。
·
2015-11-13 07:53
version
上一页
72
73
74
75
76
77
78
79
下一页
按字母分类:
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
其他