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
——树状数组
hdu 4000
树状数组
思路:找出所有 a<b<c||a<c<b的情况,在找出所有的a<b<c的情况。他们相减剩下就是a<c<b的情况了。 #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> #define Maxn 1
·
2015-11-13 02:35
树状数组
hdu 4325
树状数组
+离散化
思路:这题的思路很容易想到,把所有时间点离散化,然后按时间一步一步来,当到达时间i的时候处理所有在i处的查询。 这个代码怎一个挫字了得 #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> #include<vector> #de
·
2015-11-13 02:34
树状数组
hdu 3333
树状数组
思路:定义一个map容器用来记录数ai上次出现的位置。将查询区间按右边界升序进行排序,当插入第i个数ai时,pre[ai]+1---->i的区间就会多一个不同的数,其值就是ai,那么可以用update(pre[ai]+1,ai)来保存,但又不能影响i之后的位置,故用update(i,-ai)来消除。每次对于右边界时i的查询区间,只要对其左边界求和就行了,即Sum(qt[i].l)。 #i
·
2015-11-13 02:33
树状数组
hdu 1892
树状数组
思路:就是一个很普通的二维
树状数组
,注意的是x1,y1不一定在x2,y2的左下方。
·
2015-11-13 02:33
树状数组
hdu3584
树状数组
思路:从一维扩展到三维。可以看看poj2155的解法。 #include<iostream> #include<cstring> #include<algorithm> #include<cstdio> #define Maxn 102 #define lowbit(x) (x&(-x)) using namespace st
·
2015-11-13 02:32
树状数组
hdu 4630
树状数组
思路:这题的处理方式和hdu4358有点像。我们用一个pre[x]表示约数x的倍数上次出现的位置,将查询按区间的右节点升序排序。num[i]的约数为j,如果pre[j]为0,就将pre[j]置为i;否则就update(pre[j],j),表示的意思是约数j肯定不是第一次出现,将pre[j]以前的区间更新最大约数。如果查询区间的右边界在i处,那么左边界在pre[j]以前就肯定就能取到j。因为num[
·
2015-11-13 02:31
树状数组
hdu 2838
树状数组
思路:从后面往前面插,用一个二维
树状数组
保存,c[i][0]表示比i小的元素和,c[i][1]表示比i小的元素个数。
·
2015-11-13 02:30
树状数组
hdu 2852
树状数组
思路:加一个数e就用update(e,1)。删除元素e就用update(e,-1)。找比a大的第k大的元素就用二分查找。 #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> #define Maxn 120010 #define lowbit
·
2015-11-13 02:29
树状数组
hdu 3743
树状数组
可以从后面开始用
树状数组
统计比它小的数的个数是一样的。
·
2015-11-13 02:28
树状数组
hdu 1394
树状数组
思路:从后面往前面统计,每次先sum+=Sum(num[i]+1),然后在update(num[i]+1,1)。这样每次Sum每次加的个数就是num[i]的逆序对个数。 每次从队首调一个元素到队尾,逆序对的变化为sum=sum-num[i]+n-num[i]+1。减少的个数为num[i],增加的个数为n-num[i]-1。 #include<iostream> #include
·
2015-11-13 02:28
树状数组
poj 2182
树状数组
这题对于O(n^2)的算法有很多,我这随便贴一个烂的,跑了375ms。 #include<iostream> #include<algorithm> using namespace std; int mat[8008]; int main() { int i,j,t,n; scanf("%d",&n);
·
2015-11-13 02:27
树状数组
AVL树的操作——郁闷的出纳员,平衡树解法
今天学习了一下AVL,顺便用AVL树 A掉了这道经典的题,以前用
树状数组
解过这个题,今天记录一下AVL的解法。如有错误之处欢迎指正,各位大牛不要笑话我。
·
2015-11-13 02:12
操作
[POJ3928 Ping pong]
[题目来源]:Beijing 2008 [关键字]:
树状数组
[题目大意]:是要组成许多比赛,比赛的要求是,两个人比赛一个人作裁判,裁判的能力值必须要在两个人之间,位置也是,问一共有多少种不同的比赛方式
·
2015-11-13 02:36
ping
[POJ3321 Apple Tree]
[题目来源]:POJ Monthly--2007.08.05, Huang, Jinsong [关键字]:
树状数组
[题目大意]:一棵苹果树每个数字上长有1个苹果,有两种操作:1、改变一个树枝上的苹果数
·
2015-11-13 02:33
apple
前缀和 与
树状数组
通常情况下,
树状数组
可用来处理单点修改,区间查询。 通过前缀和的转换,可以使其处理区间修改和单点查询。
·
2015-11-13 02:38
树状数组
【HDU 3887 Counting Offspring】 dfs序+
树状数组
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3887 题目大意: 给你一颗n个节点的数,对于每个节点i,问你每个节点的子树中有多少个节点序列数小于i,求f[i]。 解题思路: 用样例来说明,我们可以先深搜一遍,那么深搜得到的序列就是 7,3,15,15,12, 12, 3, 4, 4, 1
·
2015-11-13 02:13
spring
【HDU 1892】 二维
树状数组
解题思路: 和一维
树状数组
没撒子区别。一维扩展到二维而已。 需要注意的两点是:1.x,y坐标从0开始,所以存储更新的时候
·
2015-11-13 02:56
树状数组
poj 2155 Matrix
思路:用
树状数组
,每次插
·
2015-11-13 01:11
Matrix
CF 163E. e-Government ac自动机+fail树+
树状数组
E. e-Government 题目: 给出n个字符串,表示n个人名,有两种操作: ?string ,统计字符串string中出现的属于城市居民的次数。 +id,把编号为id的人变为城市居民,如果已经是忽略。 -id,把编号为id的人变为不是城市居民,如果已经不是的话忽略。 现有m个操作,对于?输出结果。 分析: 很容易想到建立ac自动机,+
·
2015-11-13 00:32
AC自动机
BZOJ 2819: Nim dfs序维护
树状数组
,倍增
这个不就是dfs序维护
树状数组
吗? 以下借用niuox学长的一幅dfs序的图 所以
·
2015-11-13 00:13
树状数组
树状数组
详解
第01讲 什么是
树状数组
?
树状数组
用来求区间元素和,求一次区间元素和的时间效率为O(logn)。 有些同学会觉得很奇怪。
·
2015-11-13 00:01
树状数组
HDU 3792 Twin Prime Conjecture
pid=3792 n为负数,静态查询,用
树状数组
写,蛋疼可见一斑。
·
2015-11-13 00:33
Prim
HDU 3584 Cube
pid=3584 裸三维
树状数组
。。。
·
2015-11-13 00:21
cube
HDU 1892 See you~
pid=1892 二维
树状数组
,很裸。。。
·
2015-11-13 00:20
HDU
HDU 2642 Stars
pid=2642 裸二维
树状数组
,没有秒杀,坑点是这题的询问是x1,x2,y1,y2(其实题目说得清清楚楚,惯性思维害死人?写完不过sample无力吐槽)。
·
2015-11-13 00:20
tar
hdu 3450
树状数组
思路:二分查找位置,之后是裸的
树状数组
。
·
2015-11-13 00:16
树状数组
poj 3378 二维
树状数组
思路:直接用long long 保存会WA。用下高精度加法就行了。 #include<map> #include<set> #include<cmath> #include<queue> #include<cstdio> #include<vector> #include<string> #inc
·
2015-11-13 00:06
树状数组
poj 2029 二维
树状数组
思路:简单
树状数组
#include<map> #include<set> #include<cmath> #include<queue> #
·
2015-11-13 00:04
树状数组
hdu 4031 Attack
树状数组
其实这题线段树和
树状数组
都能做。我们现在把问题分为两个部分: 1.统计但会节点被攻击的次数; 2.统计所有攻击中多少次无效; 那么总的攻击次
·
2015-11-13 00:34
树状数组
hdu4638Group
首先把这个数看作单独的段 再看一下前面是否出现了它的朋友 若出现了就说明前面已经加过这样单独的段了 就把前面的更新掉-1 这样始终保证一个段的最后一个值记录着这是第几个段 从左到右扫描一遍 离线处理后 这样用
树状数组
或者线段树进行区间求
·
2015-11-13 00:38
group
HDU 2492 Ping pong(数学+
树状数组
)(2008 Asia Regional Beijing)
Description N(3<=N<=20000) ping pong players live along a west-east street(consider the street as a line segment). Each player has a unique skill rank. To improve their skill rank, the
·
2015-11-13 00:41
ping
codeforces 301D Yaroslav and Divisors(
树状数组
)
Yaroslav has an array p = p1, p2, ..., pn (1 ≤ pi ≤ n), consisting of n distinct integers. Also, he has m queries: Query number i is represented as
·
2015-11-13 00:36
codeforces
codeforces 314C Sereja and Subsequences(
树状数组
+DP)
Sereja has a sequence that consists of n positive integers, a1, a2, ..., an. First Sereja took a piece of squared paper and wrote all distinct non-empty non-decreasing subseq
·
2015-11-13 00:01
codeforces
数据结构习题 线段树&
树状数组
说明:这是去年写了一半的东西,一直存在草稿箱里,今天整理东西的时候才发现,还是把它发表出来吧。。 以下所有题目来自Lrj的《训练指南》 LA 2191 单点修改,区间和 Fenwick直接搞 UVa 12299 &nbs
·
2015-11-12 23:09
数据结构
浅谈
树状数组
还是区间求和区间修改的问题,我们使用线段树解决以后发现编程复杂度比较大 在这里介绍一个简单的数据结构,
树状数组
。
·
2015-11-12 23:11
树状数组
【HDU 4000】
树状数组
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4000 题目大意:给出n个数,求(x<z<y)的次数 。(x,y,z一次先后出现) 解题思路: 题目数据量很大,暴力肯定不行的。 设现在出现的位置为x,后面比它大的数有s个。s个选两个(y,z)有s*(s-1)/2种。此时yz无序。 然后按题目要求x<z<
·
2015-11-12 23:09
树状数组
【HDU 1541】
树状数组
(入门题)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1541 题目大意: 开始输入一个n(表示有n颗星星)。接下来n行,每行输入一个x,y,代表星星的坐标,注意y是递增输入。求各阶段星星的等级(阶段分为0~n-1)有多少,星星等级数计算方法为本星星左下角的有的星星个数。 1 #include <iostream> 2
·
2015-11-12 23:08
树状数组
HDU
树状数组
转
树状数组
先废话一下. 嗯 嗯 从今天开始 从基础一步一步开始 追逐我的梦想! 今天先来讨论一下
树状数组
.
·
2015-11-12 23:57
树状数组
数据结构之
树状数组
转载自:http://dongxicheng.org/structure/binary_indexed_tree/ 1、概述
树状数组
(binary indexed tree),是一种设计新颖的数组结构
·
2015-11-12 23:11
数据结构
树状数组
求逆序数
其实就是求冒泡排序的交换次数。 一个数列的逆序数等于 每一个数字前面比它大的数的个数和,比如 :1 4 2 3 5 的逆序数为:0+0+1+1+0=2; 初始化,数组bit={0}; 比如数列 1 4 2 3 5 第一步:bit = 0 0 0 0 1 //把最大的元素位置赋值为1,并求其前面所有元素的和,为0 第二步:
·
2015-11-12 23:10
树状数组
树状数组
树状数组
是对一个数组改变某个元素和求和比较实用的数据结构。两中操作都是O(logn)。 在解题过程中,我们有时需要维护一个数组的前缀和S[i]=A[1]+A[2]+...
·
2015-11-12 22:00
树状数组
POJ3468 A Simple Problem With Integers
树状数组
区间更新区间询问
今天学了很多关于
树状数组
的技巧。
·
2015-11-12 22:51
Integer
POJ2155 Matrix 二维
树状数组
神一般的二维区间更新,运用二维
树状数组
会有神奇的效果。更改四个角实现区间更改的效果实在是太神奇了。。
·
2015-11-12 22:50
Matrix
POJ2182(Lost Cows)
最近在写遗传算法求TSP时看到了grefenstette编码,于是想起了这个题目,这题我原来是用线段树写的C语言提交的,用时157ms,刚用
树状数组
+二分写用C++提交只跑了47ms,感觉快了不少。
·
2015-11-12 22:40
poj
POJ1007(DNA Sorting)
若元素种类很多,可以使用
树状数组
进行类似基数排序的统计。
·
2015-11-12 22:02
sort
POJ 2352 Stars(
树状数组
)
用
树状数组
来实现 /*Accepted 376K 110MS C++ 774B 2012-08-07 10:58:07*/ #include<stdio.h
·
2015-11-12 22:19
树状数组
Jewel 【划分树,
树状数组
】
http://acm.tju.edu.cn/toj/showp3758.htmlTJU 3758. Jewel 模拟题,开始数组为空,有以下操作:Insert x Put a bead with size x to the right of the chain (0 < x < 231, and x is different
·
2015-11-12 22:36
树状数组
POJ 3067 Japan【一维
树状数组
】
POJ 3067 Japan 核心算法:一维
树状数组
大意:Japan在东边有n座城市,从北到南编号依次为1,2,3...n在西边有m座城市,从北到南编号分别为1,2,3...m现要在南北城市之间修建k
·
2015-11-12 22:15
树状数组
树状数组
_二分_POJ-2182
至于值为多少就可以用二分和
树状数组
来解决。 1 #include<cstdio> 2 #include<cstdlib> 3 #include
·
2015-11-12 22:29
树状数组
poj 3321 Apple Tree——
树状数组
题意:一棵具有n个节点的树,一开始,每个节点上都有一个苹果。现在给出m组动态的操作:(C,i)是摘掉第i个节点上面的苹果(若苹果不存在,则为加上一个苹果),(Q,i)是查询以第i个节点为根的子树有几个苹果(包括第i个节点)。 做法:将每个点重新编号,使每个点的编号大于它的所有子节点的编号,这样,记录下该节点的最小子节点编号,就可以区间地求某个节点的苹果总数了。方法实现方法就是后序遍历整颗树,并
·
2015-11-12 22:00
apple
上一页
74
75
76
77
78
79
80
81
下一页
按字母分类:
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
其他