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
acm_树状数组
BZOJ 1012 [JSOI2008]最大数maxnumber
具体思路就是维护一个单调不上升的单调队列,然后查询就在这个单调队列中二分查找就好啦~ //这道题,可以算是单调队列的一个妙用了 //当然,做法有很多,可以用线段树、平衡树、
树状数组
等,其中单调队列最巧妙且最简单
Created_equal
·
2016-01-04 22:00
POJ--3321 Apple Tree(
树状数组
+dfs(序列))
AppleTreeTimeLimit:2000MSMemoryLimit:65536KTotalSubmissions:22613Accepted:6875DescriptionThereisanappletreeoutsideofkaka’shouse.Everyautumn,alotofappleswillgrowinthetree.Kakalikesappleverymuch,sohehas
Dacc123
·
2015-12-30 22:00
[置顶] [一直更新中]错误及好东西
5、可以使用
树状数组
就尽量不要使用线段树。在Gty的文
WerKeyTom_FTD
·
2015-12-30 20:00
poj 3321 dfs +
树状数组
+ 邻接表
挺复杂一个题,昨天在公司写完没提交,今天提交居然一次AC,挺惊讶的,自己代码功底看来进步了不少,思路也清晰了。//============================================================================ // //>File:poj3321.cpp //>Author:flowertree //>Time:2015年12月30日 //
fuyan159357
·
2015-12-30 18:00
算法
搜索
poj
hdu5603
树状数组
bestcode的题目感觉挺巧妙的,给一些区间(n #include #include #include #include #include #include #include #include #include #include #defineLLlonglong #definePBpush_back #defineN1000010 usingnamespacestd; structin
zzucaicai
·
2015-12-30 09:00
HDU 5603
树状数组
HDU5603题目链接:题意:有n( #include #include #include #include #include #include #include #include usingnamespacestd; constintMAXN=3*1e5+5; constintMAXM=1e6+5; intn,m; structE { intL,R; //booloperatorrbs.R;}
beihai2013
·
2015-12-27 18:00
树状数组
BIT (Binary Indexed Tree)
还没想好怎么解释,先贴程序片intSUM(ints,intt) { returnsum(t)-sum(s-1); } intsum(inti) { intans=0; while(i>0) { ans+=BIT[i]; i-=i&-i; } returnans; } voidmodify(inti,intx) { while(i<=N) { BIT[i]=x; i+=i&-i; } }
gotojava9
·
2015-12-27 14:00
数据结构
(
树状数组
+二分)
题目链接:点击打开链接题意:一共n个人,从第k个人开始,这个人离队并且指定向左或向右第v个人离队,依次下去,求得分最高的人是谁。第p个人离队,将得到G(p)分,G(p)是可以整除p的所有数。对于可以被i整除的数的个数,我们可以通过枚举每一个数的倍数,预先处理出来。该题直接模拟就好,因为每次都一定有一个人出队,所以要枚举n次,对于每次,要计算具体是哪个人出队,这个可以用数学推导很快的算出来是当前队列
weizhuwyzc000
·
2015-12-26 10:00
poj
树状数组
二分
POJ 2828 Buy Tickets(
树状数组
)
该题可以用
树状数组
很方便的维护。
weizhuwyzc000
·
2015-12-24 20:00
数据结构
poj
树状数组
ACM-ICPC
HDU 1394 Minimum Inversion Number(
树状数组
||线段树)
题目链接:点击打开链接对于求逆序数的问题,通常用线段树或者
树状数组
来维护,
树状数组
代码短,好写,还是尽量写
树状数组
吧。
weizhuwyzc000
·
2015-12-24 15:00
HDU
逆序数
树状数组
ACM-ICPC
HDU 1166 敌兵布阵(线段树版)
该题之前用
树状数组
写过,最近在学习线段树,用线段树重新写了一遍。在学习一种新的数据结构之前,最重要的是要理解其结构是什么样子的,这个可以参照《算法竞赛入门经典-训练指南》P199页。
weizhuwyzc000
·
2015-12-24 10:00
数据结构
线段树
HDU 5493 Queue(二分+
树状数组
)
题目链接: 点击打开链接题意:有n个人排队,每个人都有一个独一无二的身高,告诉你每个人的身高和他前面或者后面的比他高的人的个数(到底是前是后是未知的)。 要求你还原原来的队列,并且字典序最小。思路:因为要求字典序最小,我们可以先按照身高从小到大排序,假设当前到了第i高的人,他前面或者后面有k个人,那么他前面的所有人都比他矮,比他高的还有n-i个人,那么假设他前面还有p个空位,他就是第p+1个空位上
weizhuwyzc000
·
2015-12-23 22:00
HDU
树状数组
二分
贪心
ACM-ICPC
hdu 1394 Minimum Inversion Number 线段树
一开始先用线段树、
树状数组
或归并排序求逆序对,然后再递推每一次操作后的逆序对数就好了。
qq_33229466
·
2015-12-23 19:00
HDU 3450 Counting Sequences(DP +
树状数组
)
题目链接:点击打开链接题目大意:统计满足相邻两个数之差不超过d的子序列个数。我们不难想到一个O(n^2)的DP算法:对于每一个i,d[i]表示以i结尾的子序列个数。 那么它将转移到所有满足(j>=1&&j #include #include #include #include #include #include #include #include #include #include #includ
weizhuwyzc000
·
2015-12-22 20:00
dp
树状数组
二分
ACM-ICPC
poj2352
树状数组
最近趁着期末复习的时间看了
树状数组
,似懂非懂,假期一定要补上一篇
树状数组
的博客 //AC代码(仿照别人的
树状数组
的模板过的) #include intc[32005]; intn; inta[32005
fengsigaoju
·
2015-12-22 20:00
刷题记录
主席树:数颜色BZOJ2120(
树状数组
+主席树)k-thnumberpoj2104(裸主席树)middlebzoj2653(主席树+二分)dispatchingapio2012(树上主席树+dfs序)
wkingG
·
2015-12-21 20:00
算法学习(二)——
树状数组
求逆序数
2、用
树状数组
求逆序数的总数 2.1该背景下
树状数组
的含义 2.2如何使用
树状数组
求逆序数总数 2.3C++实现代码目录 1、什么是逆序数?
xiongmao_cpp
·
2015-12-17 22:00
BZOJ3262: 陌上花开 CDQ
先是去重然后按x排序降一维在根据y来插排最后z在
树状数组
上查询修改就好了 #include #include #include #include usingnamespacestd
liutian429073576
·
2015-12-17 20:00
bzoj
cdq分治
树链剖分理解&&poj 3237
树链剖分用一句话概括就是:把一棵树剖分为若干条链,然后利用数据结构(
树状数组
,SBT,Splay,线段树等等)去维护每一条链,复杂度为O(logn)假如一个树就是一条链的话(极限的想想),我们可以用数据结构
a915800048
·
2015-12-16 22:00
树链剖分
poj3237
51Nod 1376 最长递增子序列的数量(dp+
树状数组
)
时间:O(nlog(n))空间:O(2*n)思路O(n^2)的思路中,每次求以第i个数结尾的最大长度和记录总数都要对前i-1个数进行遍历比较,如果能把这个比较过程转化为对前i项对求和,就可以用
树状数组
或线段数进行求和优化了
to_be_better
·
2015-12-16 03:00
dp
树状数组
最长递增子序列
51nod
BZOJ1176: [Balkan2007]Mokia CDQ分治
很裸的一道CDQ分治吧拆操作询问区间的时候 拆成询问四个子区间然后加加减减根据时间顺序来二分然后用插排降一维 最后一维
树状数组
维护前缀和#include #include #include #include
liutian429073576
·
2015-12-15 19:00
bzoj
cdq分治
2743: [HEOI2012]采花
还是老老实实用
树状数组
才是正解。
nlj1999
·
2015-12-14 16:00
1878: [SDOI2009]HH的项链
看见题目第一眼就想到莫队了,为什么看网上一堆题解都是
树状数组
,果然我智商低吗QAQ。算了,反正莫队乱搞就好了。
nlj1999
·
2015-12-14 15:00
hdu 5592 ZYB's Premutation(线段树优化)
−fi−1是ii前面比p_ipi大的数的个数.我们考虑倒着做,当我们处理完ii后面的数,第ii个数就是剩下的数中第f_i-f_{i-1}+1fi−fi−1+1大的数,用线段树和
树状数组
可以轻松地求出当前第
sjy22
·
2015-12-13 22:00
树状数组
树状数组
的组成结构:树上结点C和A数组的关系:C结点管辖的区域是,其中k是结点下标二进制末尾0的个数计算:intlowbit(inta){ returna&(a^(a-1));//returna&(-a
theArcticOcean
·
2015-12-12 19:00
tree
主席树刷题记录
数颜色BZOJ2120(
树状数组
+主席树)k-thnumberpoj2104(裸主席树)middlebzoj2653(主席树+二分)dispatchingapio2012(树上主席树+dfs序)最大异或和
wkingG
·
2015-12-12 10:00
1818: [Cqoi2010]内部白点
明显不可能会出现-1的情况嘛离散化+
树状数组
x,y坐标分别排序,扫一遍,找出所有的横线和竖线,统计出横线、竖线上端点、竖线下端点。
nlj1999
·
2015-12-10 14:00
[置顶] BestCoder
就肯定是把X两边的数字取平,这样后手破坏平衡,先手取平,最后肯定是后手取到X,所以n奇数的时候只有在中间是后手必胜,n偶数的时候都是先手必胜感觉我还是要多看博弈题,博弈渣C逆序对的题,一般都是线段树或者是
树状数组
这题用
树状数组
可能会
Miracle_ma
·
2015-12-10 13:00
ACM
【poj 2828】 Buy Tickets(线段树/
树状数组
)
【poj2828】BuyTickets(线段树/
树状数组
)BuyTicketsTimeLimit: 4000MS MemoryLimit: 65536KTotalSubmissions: 16922 Accepted
ChallengerRumble
·
2015-12-10 11:00
《
树状数组
求逆序对数》
#include #include #definemaxn1005 inttree[maxn];intlowbit(intx){returnx&(-x);}voidupdate(intpos,intnum){while(pos0){ ans+=tree[pos]; pos-=lowbit(pos);}returnans;}intmain(){intt,i,num,ans;while(~scanf(
a709743744
·
2015-12-09 09:00
Stack (30)【栈+
树状数组
】——PAT (Advanced Level) Practise
题目信息1057.Stack(30)时间限制100ms内存限制65536kB代码长度限制16000BStackisoneofthemostfundamentaldatastructures,whichisbasedontheprincipleofLastInFirstOut(LIFO).ThebasicoperationsincludePush(insertinganelementontothet
xianyun2009
·
2015-12-08 09:00
栈
树状数组
pat
1057
Codeforces Gym 100800L Telescope (二维
树状数组
或 暴力水过)
题目大意:貌似这个题就是题目意思不太好懂...其实题目本身还是比较简单的题意是给出一张照片(最多1000*1000的十六进制矩阵)然后这是一个星体的照片,并且告诉的是每个位置(x,y)的值是原来的矩阵中以(x,y)为中心的一个N*N的矩阵的值的平均值向下取整的结果原矩阵中的值要么是0x0000要么是0xFFFF,在矩阵以外的地方的值都考虑为0问原来的矩阵中0xFFFF连通块的个数(连通只能上下左右
u013738743
·
2015-12-07 14:00
codeforces
Telescope
Gym
二维树状数组
100800L
hdu 5592 BestCoder Round #65(
树状数组
)
题意:ZYB有一个排列PP,但他只记得PP中每个前缀区间的逆序对数,现在他要求你还原这个排列. (i,j)(iA_jAi>Aj输入描述第一行一个整数TT表示数据组数。 接下来每组数据: 第一行一个正整数NN,描述排列的长度. 第二行NN个正整数A_iAi,描述前缀区间[1,i][1,i]的逆序对数. 数据保证合法. 1\leqT\leq51≤T≤5,1\leqN\le
Fun_Zero
·
2015-12-06 17:00
树状数组
BestCoder
HDU 5592 ZYB's Premutation(二分+
树状数组
)
昨晚有事没打BC,今天补一补,这是昨晚第三题,对于一个1~n的序列,告诉我们每个数前面有多少个比他大的数,要求我们还原序列。不难发现,如果我们倒着看的话,假设当前第i个数是ans[i],它前面有k个比他大的数,那么他就是删除后面已经求出的数字后的数组中第k+1大的数。该题a[i]表示的是第i个数的前缀逆序对数,设p[i]表示第i个位置上的数,a[i]-a[i-1]就是i前面比p[i]大的数的个数,
weizhuwyzc000
·
2015-12-06 13:00
HDU
树状数组
二分
ACM-ICPC
hdu 2689 sort it(
树状数组
逆序数)
树状数组
求逆序数,原来一直没搞明白,今天看了一遍文章讲的很清楚,下面把有关内容粘过来:对于小数据,可以直接插入
树状数组
,对于大数据,则需要离散化,所谓离散化,就是将100200300400500--->
Griffin_0
·
2015-12-06 00:00
树状数组
bestcoder#65ZYB's Premutation
树状数组
+二分
#include #include #include usingnamespacestd; constintmaxn=50010; inttree[maxn]; intn; intgetsum(intx){ intsum=0; while(x){ sum+=tree[x]; x-=x&(-x); } returnsum; } voidupdate(intx,intdx){ while(x>1; i
cq_pf
·
2015-12-05 21:00
逆序数的求法总结(归并、线段树、
树状数组
、离散化)
1、归并排序求逆序数http://acm.nyist.net/JudgeOnline/problem.php?pid=117在归并排序的过程中,比较关键的是通过递归,将两个已经排好序的数组合并,此时,若a[i]>a[j],则i到m之间的数都大于a[j],合并时a[j]插到了a[i]之前,此时也就产生的m-i+1个逆序数,而小于等于的情况并不会产生。1#include 2#definemaxn10
张秦遥
·
2015-12-05 14:00
【练习手记】【多题合集】用
树状数组
做线段树练习1、2、3
Warning:本篇无任何思路解释——————————————————————————————————————————————线段树练习时间限制:1s空间限制:128000KB题目等级:钻石Diamond题解题目描述Description一行N个方格,开始每个格子里都有一个整数。现在动态地提出一些问题和修改:提问的形式是求某一个特定的子区间[a,b]中所有元素的和;修改的规则是指定某一个格子x,加
xym_CSDN
·
2015-12-04 21:00
《一维
树状数组
》模板
http://acm.hdu.edu.cn/showproblem.php?pid=1166 ProblemDescription C国的死对头A国这段时间正在进行军事演习,所以C国间谍头子Derek和他手下Tidy又开始忙乎了。A国在海岸线沿直线布置了N个工兵营地,Derek和Tidy的任务就是要监视这些工兵营地的活动情况。由于采取了某种先进的监测手段,所以每个工
a709743744
·
2015-12-04 10:00
NOIp2015提高组 解题报告
晚上写了一堆基础模板:spfa最短路径,prim和kruskal的最小生成树,hungary的二分图匹配,
树状数组
,kmp字符串匹配,等等。然后突然发现了一个叫做2-SAT的神奇算法。
jr_mz
·
2015-12-03 18:00
【面试常见算法整理】Binary Indexed Tree(Fenwick Tree,
树状数组
)详解
问题:求一个数组中连续n项的和。首先想到的肯定是做一个循环,把这个连续的n项加起来,时间复杂度为O(n)。复杂度为n,看起来还不错,再说了求n个数的和,怎么也要加n次吧,所以说这应该就是最优解了,但是一提交结果是TimeLimitExceeded,顿时傻眼了,难道还有复杂度更低的方法?会不会有O(logn)的解法?O(n)的那个算法,如果只操作一次还是可以接受的,但是如果需要大量的求和操作,比如第
L664675249
·
2015-12-03 10:00
数据结构
算法
面试
bit
树状数组
【
树状数组
】专题+模板
先放模板。。。#definelowbit(x)(x)&(-x)constintN=1005;constintM=1e9+7;//【修改点(向上),求区间(向下)】の模板intdp[N][N],c[NN][N];inta[N],r[N],w[N];boolcmp(intb,intc){returna[b]0){s=(s+c[i][j])%M;i-=lowbit(i);}returns%M;}intm
ccyy-
·
2015-12-02 20:23
困难
线段树&网络流&后缀数组etc
【
树状数组
】专题+模板
先放模板。。。#definelowbit(x)(x)&(-x) constintN=1005; constintM=1e9+7; //【修改点(向上),求区间(向下)】の模板 intdp[N][N],c[NN][N]; inta[N],r[N],w[N]; boolcmp(intb,intc){ returna[b]0){ s=(s+c[i][j])%M; i-=lowbit(i); } ret
cacyth
·
2015-12-02 20:00
树状数组
(一)
首先来介绍一下
树状数组
这个东西:它是一种很特别的数据结构,在我们暴力求解某个加和(O(n))然后更改(O(1)),然后再暴力求和(O(n)),然后再更改,然后TLE的过程中,
树状数组
已经默默地用O(logn
zxn0803
·
2015-12-01 08:00
51nod 差和问题(
树状数组
+离散化 (Java))
题目链接:http://www.51nod.com/contest/problem.html#!problemId=1394题目描述:有一个集合S,初始状态下有n个元素,对他进行如下操作:1、向S里面添加一个值为v的元素。输入格式为1v2、向S里面删除一个值为v的元素。输入格式为2v3、询问S里面的元素两两之差绝对值之和。输入格式为3 对于样例,操作3,|1-2|+|1-3|+|2-3|=4操作1
kalilili
·
2015-11-30 21:00
树状数组
模板程序
#include #include usingnamespacestd; intl; intc[1000]; intlowbit(intx){ returnx&(x^(x-1)); } voidup(intx,inty){ while(x0){ sum+=c[k]; k-=lowbit(k); } returnsum; } intmain(){ inti,j,k,m,n; intx,y; cin>
cnyali
·
2015-11-29 16:00
hdu 1754 I Hate It(
树状数组
区间求最值)2007省赛集训队练习赛(6)_linle专场
题意:输入一行数字,查询第i个数到第j个数之间的最大值。可以修改其中的某个数的值。 输入:包含多组输入数据。每组输入首行两个整数n,m。表示共有n个数,m次操作。接下来一行包含n个整数。接下来m行,每行包含一个字母s,两个整数a,b。当s为’Q’,表示查询第a个数到第b个数之间的最大值。当s为’U’,表示将第a个数更改为b。 输出:每次查询输出一个结果,每次输出占一行。 题解:点修改区间求最值,可
mypride
·
2015-11-28 13:00
【进阶——
树状数组
】 区间求最值
上一篇讲的是区间求和,这一篇讲区间求最值。首先,a[]数组仍然是保存原始数据。但是c[]数组变了,c[i]将会保存从a[1]到a[i]的最值。初始化c[]:当我们输入a[i]时,c[i]需要需要向前依次枚举被c[i]所包含的c[]数组。比如,当i == 8时,需要向前依次枚举c[7], c[6], c[4],取a[8]与这几个c[]中的最值保存在c[8]中。找到c[]的规律了没有?依次是i-1,
mypride
·
2015-11-28 13:00
hdu 1116 敌兵布阵(
树状数组
区间求和)
题意:给出一行数字,然后可以修改其中第i个数字,并且可以询问第i至第j个数字的和(i 2#include 3#include 4#include 5usingnamespacestd; 6 7constintN=50005; 8 9intt,n; 10inta[N]; 11intc[N]; 12chars[10]; 13intx,y; 14 15intlowbit(i
mypride
·
2015-11-27 22:00
【初识——
树状数组
】 区间求和
说
树状数组
其实是一个索引表,但是是一个特殊的,树状的索引表,它利用了二进制的一些特性。 就区间求和的要求来说:首先我们用a[]数组来存储原始数据。然后在a[]之上构造c[]数组来作为
树状数组
。
mypride
·
2015-11-27 22:00
上一页
71
72
73
74
75
76
77
78
下一页
按字母分类:
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
其他