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
主席树
BZOJ3524 POI2014 Couriers 题解&代码
思路:嘛,很纯粹的
主席树
…只不过空间限定太严格了点,竟然卡空间,我卡了好几次才AC…不过我现在特别纠结为啥我BZOJ2223过不了#include #include #include usingnamespac
Rainbow6174
·
2016-04-06 13:00
poi
【bzoj3295】[Cqoi2011]动态逆序对 树状数组套
主席树
Description对于序列A,它的逆序对数定义为满足iInput输入第一行包含两个整数n和m,即初始元素的个数和删除的元素个数。以下n行每行包含一个1到n之间的正整数,即初始排列。以下m行每行一个正整数,依次为每次删除的元素。Output输出包含m行,依次为删除每个元素之前,逆序对的个数。SampleInput54153425142SampleOutput5221样例解释(1,5,3,4,2)
DQSSS
·
2016-04-05 21:59
树状数组
===数据结构===
树套树
主席树
【bzoj3295】[Cqoi2011]动态逆序对 树状数组套
主席树
Description对于序列A,它的逆序对数定义为满足iInput输入第一行包含两个整数n和m,即初始元素的个数和删除的元素个数。以下n行每行包含一个1到n之间的正整数,即初始排列。以下m行每行一个正整数,依次为每次删除的元素。Output输出包含m行,依次为删除每个元素之前,逆序对的个数。SampleInput54 1 5 3 4 2 5 1 4 2 SampleOutput
LOI_DQS
·
2016-04-05 21:00
bzoj4448 情报传递 dfs序列&树状数组
使用带修改的
主席树
(树状数组套可持久化线段树)或者
lych_cys
·
2016-04-05 16:00
DFS
树状数组
LCA
dfs序
【SDOI2014】旅行
空间太大了我用了动态开空间,类似
主席树
那样打。在线大法好!也可以打一个离散化。离线大法好!
Facico
·
2016-04-02 07:51
树链剖分
线段树
离线大法
省选
可持久化线段树
bzoj3551 Peaks加强版 最小生成树&
主席树
我们如果首先求出了最小生成树,那么在询问的时候去掉所有边权>x的边,那么剩下的和v相连的就是可以走到的山峰。 那么考虑在并查集的时候做一点科(shou)技(jiao),比如现在要合并u和v所在的连通块,边权为t,那么显然u中所有点到v中所有点的路径中的最大边权为t,那么新建一个点p,连p->u和p->v且p的点权为t。那么n-1合并之后得到了一颗有n的叶子节点的树,那么两个点x->y
lych_cys
·
2016-03-30 13:00
最小生成树
线段树
DFS
并查集
主席树
bzoj4408 神秘数
主席树
先看一下对于给定的一段如何暴力求最大值,首先将这一段排序,然后如果存在某一个数,这个数比它前面的数的前缀和至少大2,那么答案就是它前面那个数的前缀和+1。 那么假设现在处理了前面较小的一些数之后的答案为ans,然后可以求出比ans小的数的总和t,如果t #include #include #include #defineN100005 #defineM2000005 usingnam
lych_cys
·
2016-03-30 07:00
主席树
[bzoj3585]mex
题目大意求区间mex
主席树
我们建立
主席树
,对于第r棵线段树每一个位置i存储的是数字i出现的最右端。那么对于区间询问l~r,就是找到第r棵线段树的最大前缀区间,满足区间内每个数的最右出现位置都不小于l。
WerKeyTom_FTD
·
2016-03-24 21:00
【bzoj3065】带插入区间k小值 替罪羊树套
主席树
我用的是替罪羊树套
主席树
,具体用替罪羊树保存一个区间[l,r]中的一颗记录颜色的
主席树
,然后查询的时候就提取出logN个区间在
主席树
上二分;插入的时候如果不平衡就暴力重构。 这样大概是O(
lych_cys
·
2016-03-24 20:00
主席树
替罪羊树
【CH】【弱省胡策】Round #7 高精度+组合数+set+
主席树
+题答题+密码学
在CH上找了套题…60滚粗啦!T1的暴力懒得写,T3的提答好恶心…嘛就算都写上也就100分左右…我不会告诉你最后一个半小时左右我弃赛了…Magic背景wys是TKD的妹子。wys听说TKD总把题面写得很长很长;于是这一次她要求TKD把题面写得很短很短。描述统计N个点N条边的简单无向连通图个数。输入格式一行一个整数N。输出格式输出一行一个整数,描述答案。样例输入13 样例输出11 样例输入24 样例
LOI_DQS
·
2016-03-22 09:00
4448: [Scoi2015]情报传递|
主席树
|离线操作
可以把所有的操作离线,然后树链剖分将所有人搜集情报的时间加入到
主席树
中,查询的时候可以直接查询搜集情报时间≤i−C[i]−1的人的个数时间复杂度n∗log22n,空间复杂度n∗log2n#include
ws_yzy
·
2016-03-22 07:00
主席树
[BZOJ3531][SDOI2014]旅行(链剖+线段树动态开点)
和
主席树
有区别。之前的思路是对的,但是动态开点一直写挂,链剖什么的还是没问题的。链剖是一眼就能看出来的;需要给每一个宗教建一棵线段树,线段树用动态开点。
Clove_unique
·
2016-03-21 18:43
题解
线段树
省选
树链剖分
[BZOJ3531][SDOI2014]旅行(链剖+线段树动态开点)
和
主席树
有区别。之前的思路是对的,但是动态开点一直写挂,链剖什么的还是没问题的。链剖是一眼就能看出来的;需要给每一个宗教建一棵线段树,线段树用动态开点。
Clove_unique
·
2016-03-21 18:00
线段树
bzoj
SDOI
链剖
动态开点
【bzoj1901】Zju2112 Dynamic Rankings 树状数组套
主席树
Description给定一个含有n个数的序列a[1],a[2],a[3]……a[n],程序必须回答这样的询问:对于给定的i,j,k,在a[i],a[i+1],a[i+2]……a[j]中第k小的数是多少(1≤k≤j-i+1),并且,你可以改变一些a[i]的值,改变后,程序还能针对改变后的a继续回答上面的问题。你需要编一个这样的程序,从输入文件中读入序列a,然后读入一系列的指令,包括询问指令和修改指
LOI_DQS
·
2016-03-20 17:00
求第k大连续区间和/第k大子序列和 - 二分+树状数组+前缀和(或
主席树
+堆)
给你n,再给你n个数,最后给一个k求出这个序列的第k大连续区间和; (注意这里重复出现的数字只被统计一次)N(1X,也就是有多少个子序列的和是大于X的,即使求有多少个Bj小于【Bi-X】,这部分查询我们可以用树状数组实现,方法类似于树状数组求逆序对。 查询方法简要说一下,也就是当遍历到Bi的时候,我们找到【Bi-ans】在离散化后在树状数组对应的下标Y,然后查询get(1,Y)看之前出现过的Bi有
viphong
·
2016-03-19 17:00
Count on a tree LCA+
主席树
Description给定一棵N个节点的树,每个点有一个权值,对于M个询问(u,v,k),你需要回答uxorlastans和v这两个节点间第K小的点权。其中lastans是上一个询问的答案,初始为0,即第一个询问的u是明文。Input第一行两个整数N,M。第二行有N个整数,其中第i个整数表示点i的权值。后面N-1行每行两个整数(x,y),表示点x到点y有一条边。最后M行每行两个整数(u,v,k),
LOI_DQS
·
2016-03-19 00:00
【bzoj3524/2223】[Poi2014]Couriers/[Coci 2009]PATULJCI
主席树
Description给一个长度为n的序列a。1≤a[i]≤n。m组询问,每次询问一个区间[l,r],是否存在一个数在[l,r]中出现的次数大于(r-l+1)/2。如果存在,输出这个数,否则输出0。Input第一行两个数n,m。第二行n个数,a[i]。接下来m行,每行两个数l,r,表示询问[l,r]这个区间。Outputm行,每行对应一个答案。SampleInput7511323431314371
DQSSS
·
2016-03-18 23:16
===数据结构===
主席树
【bzoj3524/2223】[Poi2014]Couriers/[Coci 2009]PATULJCI
主席树
Description给一个长度为n的序列a。1≤a[i]≤n。m组询问,每次询问一个区间[l,r],是否存在一个数在[l,r]中出现的次数大于(r-l+1)/2。如果存在,输出这个数,否则输出0。Input第一行两个数n,m。第二行n个数,a[i]。接下来m行,每行两个数l,r,表示询问[l,r]这个区间。Outputm行,每行对应一个答案。SampleInput75 1132343 13
LOI_DQS
·
2016-03-18 23:00
【poj2104】K-th Number
主席树
DescriptionYouareworkingforMacrohardcompanyindatastructuresdepartment.Afterfailingyourprevioustaskaboutkeyinsertionyouwereaskedtowriteanewdatastructurethatwouldbeabletoreturnquicklyk-thorderstatistics
LOI_DQS
·
2016-03-18 17:00
bzoj 2588(树链剖分+
主席树
)
2588:Spoj10628.CountonatreeTimeLimit: 12Sec MemoryLimit: 128MBSubmit: 3607 Solved: 840[Submit][Status][Discuss]Description给定一棵N个节点的树,每个点有一个权值,对于M个询问(u,v,k),你需要回答uxorlastans和v这两个节点间第K小的点权。其中lastans是上
M_AXSSI
·
2016-03-17 20:00
1901: Zju2112 Dynamic Rankings|树状数组套
主席树
裸的树套树。。。#include #include #include #include #include #include #include #include #include #include #definelllonglong #defineN9000009 #defineM10010 usingnamespacestd; intsc() { inti=0,f=1;charc=getchar(
ws_yzy
·
2016-03-16 08:00
树状数组套主席树
1926: [Sdoi2010]粟粟的书架|
主席树
|二分答案
n=1时就是序列上
主席树
然后二分答案,否则就是区间维护1000个前缀和暴力再二分答案。最后要暴力一下最小值的出现次数。暴力出奇迹,内存贴线过,差点被卡飞。。
ws_yzy
·
2016-03-14 19:00
主席树
[POJ2104]K-th Number(静态
主席树
)
题目描述传送门题解静态
主席树
维护。
Clove_unique
·
2016-03-11 23:01
题解
可持久化
[POJ2104]K-th Number(静态
主席树
)
题目描述传送门题解静态
主席树
维护。
Clove_unique
·
2016-03-11 23:00
poj
静态主席树
bzoj 3674 可持久化并查集加强版
哦,,要用
主席树
维护一下,,貌似很简单啊,,自己YY一下写一发代码,,WA,,查错无果,,对拍无果,,最后不得已看了hzw题解什么数组开小了所以他T了,,我想切,,,我会那么傻逼开小了吗?
qq_20669971
·
2016-03-11 21:00
Codeforces Zip-line 650D 345Div1D(LIS)
思路:可以用
主席树
在线搞,也可以用树状数组离线搞,明显后者好写得多。我们首先读取所有的询问,然后就把询问绑在给出的位置,然后我们正向做一遍LIS,反向做一遍LDS,然后就可以解决这个问题了。
geng4512
·
2016-03-11 14:00
codeforces
bzoj1901 动态
主席树
动态
主席树
,相当于树套树,,注意到我们修改的时候影响的是后面,,相当于前缀和的形式,,外层树状数组,,内部要用
主席树
,,自己打的,,但看的别人模板,,这样不好,,但人家的代码却是比较巧妙,,避免了很多问题
qq_20669971
·
2016-03-08 21:00
bzoj 1901(
主席树
套树状数组)
1901:Zju2112DynamicRankingsTimeLimit: 10Sec MemoryLimit: 128MBSubmit: 6275 Solved: 2604[Submit][Status][Discuss]Description给定一个含有n个数的序列a[1],a[2],a[3]……a[n],程序必须回答这样的询问:对于给定的i,j,k,在a[i],a[i+1],a[i+2]
M_AXSSI
·
2016-03-07 20:00
[GDOI模拟2016.03.05]魔道研究
想到区间前k大,马上就想到了
主席树
这种神奇
alan_cty
·
2016-03-07 18:00
数据结构
线段树
GDOI
魔道研究
BZOJ 3932
其实多一个(或者两个)lg(n)的代码还是挺快的……本题比较快的一个实现是
主席树
,第一次写,模版时间并不理想,优化时间这玩意就当作留一个坑以后填罢
主席树
版代码:#include #include #include
Fuxey
·
2016-03-07 16:00
线段树
主席树
bzoj 1803(
主席树
)
1803:Spoj1487QueryonatreeIIITimeLimit: 1Sec MemoryLimit: 64MBSubmit: 419 Solved: 184[Submit][Status][Discuss]DescriptionYouaregivenanode-labeledrootedtreewithnnodes.Definethequery(x,k):Findthenodewh
M_AXSSI
·
2016-03-06 20:00
主席树
的应用
主席树
是一种利用前缀和维护形如(l<=a<=r&&L<=b<=R)范围内的满足区间减法的最优解,可以算是一个不错的二维数据结构(除了空间复杂度)。
M_AXSSI
·
2016-03-06 13:00
bzoj 3524/2223(
主席树
)
3524:[Poi2014]CouriersTimeLimit: 20Sec MemoryLimit: 128MBSubmit: 1236 Solved: 432[Submit][Status][Discuss]Description给一个长度为n的序列a。1≤a[i]≤n。m组询问,每次询问一个区间[l,r],是否存在一个数在[l,r]中出现的次数大于(r-l+1)/2。如果存在,输出这个数
M_AXSSI
·
2016-03-06 13:00
bzoj 3551 [ONTAK2010]Peaks加强版(kruskal,
主席树
,dfs序)
Description【题目描述】同3545Input第一行三个数N,M,Q。第二行N个数,第i个数为h_i接下来M行,每行3个数abc,表示从a到b有一条困难值为c的双向路径。接下来Q行,每行三个数vxk,表示一组询问。v=vxorlastans,x=xxorlastans,k=kxorlastans。如果lastans=-1则不变。 Output同3545 【思路】 Kruska
hahalidaxin
·
2016-03-06 12:00
关于树套树。。。
如果不带修改的话,显然直接
主席树
就可以了。。。但是带修改的话树套树就派上用场了。。。用线段树套平衡树,或者线段树/树状数组套
主席树
。。。首先是线段树套平衡
__560
·
2016-03-06 02:00
bzoj 3123 [Sdoi2013]森林(
主席树
,lca,启发式合并)
Description Input第一行包含一个正整数testcase,表示当前测试数据的测试点编号。保证1≤testcase≤20。第二行包含三个整数N,M,T,分别表示节点数、初始边数、操作数。第三行包含N个非负整数表示 N个节点上的权值。 接下来 M行,每行包含两个整数x和 y,表示初始的时候,点x和点y 之间有一条无向边,接下来 T行,每行描述一个操作,格式为“Qxyk”或者“Lxy ”
hahalidaxin
·
2016-03-05 19:00
bzoj 3932 [CQOI2015]任务查询系统(
主席树
)
Description最近实验室正在为其管理的超级计算机编制一套任务管理系统,而你被安排完成其中的查询部分。超级计算机中的任务用三元组(Si,Ei,Pi)描述,(Si,Ei,Pi)表示任务从第Si秒开始,在第Ei秒后结束(第Si秒和Ei秒任务也在运行),其优先级为Pi。同一时间可能有多个任务同时执行,它们的优先级可能相同,也可能不同。调度系统会经常向查询系统询问,第Xi秒正在运行的任务中,优先级
hahalidaxin
·
2016-03-04 21:00
森林
id=3123题解用
主席树
维护区间k小。对于每个节点,以父亲节点为上一版本。对于每次加边,进行启发式合并,暴力搜索子树内每几个节点,重构
主席树
即可。
wcy_1122
·
2016-03-04 19:00
poj 2104 K-th Number(
主席树
)
DescriptionYouareworkingforMacrohardcompanyindatastructuresdepartment.Afterfailingyourprevioustaskaboutkeyinsertionyouwereaskedtowriteanewdatastructurethatwouldbeabletoreturnquicklyk-thorderstatistic
hahalidaxin
·
2016-03-04 16:00
Count on a tree(
主席树
+dfs序)
Description给定一棵N个节点的树,每个点有一个权值,对于M个询问(u,v,k),你需要回答uxorlastans和v这两个节点间第K小的点权。其中lastans是上一个询问的答案,初始为0,即第一个询问的u是明文。 Input第一行两个整数N,M。第二行有N个整数,其中第i个整数表示点i的权值。后面N-1行每行两个整数(x,y),表示点x到点y有一条边。最后M行每行两个整数(u,v,k
hahalidaxin
·
2016-03-04 16:00
SPOJ D-query 区间不同数的个数 [在线
主席树
or 离线树状数组]
解法:很经典的题目,可以将每一个数依次插入
主席树
,插入时,将这个位置+1,并将最近的一个等值的位置-1即可。然后对于询问区间L,R,只要在第R颗树上询问区间L,R的和就是答案。
GrassTreeFlower
·
2016-03-03 09:46
数据结构--主席树
数据结构--树状数组
动态 K th
每一棵线段树是维护每一个序列前缀的值在任意区间的个数,如果还是按照静态的来做的话,那么每一次修改都要遍历O(n)棵树,时间就是O(2*M*nlogn)->TLE考虑到前缀和,我们通过树状数组来优化,即树状数组套
主席树
CXCXCXC
·
2016-03-02 18:00
【bzoj4012】开店 树链剖分&
主席树
看题第一眼反应点分治。。。QAQ但是从来没写过动态点分治不会写。 然后扒到了一个树链剖分的题解,发现还是可做的。 考虑一个朴素的问题,如果没有颜色限制,问所有点到u的距离之和是多少? 两点间距离dist(u,v)=deep(u)+deep(v)-2*deep(lca(u,v))。 因此所有点到u的距离之和=deep(u)*n+Σ(i=1,n)deep(i)-2Σ(i
lych_cys
·
2016-02-29 09:00
离散化
树链剖分
主席树
可持久化线段树
BZOJ3514: Codechef MARCH14 GERALD07加强版
主席树
+LCT每次加边的时候判断一下是否成环如果没有就加进去否则弹出环内比序号最小边然后统计答案#include #include #include #include #include usingnamespacestd
liutian429073576
·
2016-02-28 11:00
【bzoj3514】Codechef MARCH14 GERALD07加强版 LCT&&
主席树
wulala葱娘说这是一个很巧妙的题。。有一个比较猎奇的做法:首先把边依次加到图中,若当前这条边与图中的边形成了环,那么把这个环中最早加进来的边弹出去并将每条边把哪条边弹了出去记录下来:ntr[i]=j,特别地,要是没有弹出边,ntr[i]=0;这个显然是可以用LCT来弄的对吧。然后对于每个询问,我们的答案就是对l~r中ntr小于l的边求和,并用n减去这个值正确性可以YY一下:如果一条边的ntr>
lych_cys
·
2016-02-27 22:00
splay
主席树
LCT
4408: [Fj Winter Camp 2016]神秘数&&4299: Codechef FRBSUM|
主席树
很容易发现假如已经构造出来了1,2...max再插入一个数x,假如x≤max+1那么现在就可以构造出1,2...max,max+1...max+x于是我们可以这样做,先建立
主席树
。
ws_yzy
·
2016-02-27 20:00
主席树
3673: 可持久化并查集 by zky
主席树
可持久化数组
并查集的fa数组,每次合并时只会改变一个点的值,所以可持久化的时候我们可以用
主席树
来做。很好yy吧。。
Phenix_2015
·
2016-02-24 18:00
BZOJ3218 UOJ#77 A+B Problem(最小割+
主席树
)
竟然在BZOJ上拿了Rank1太给力啦。p.s.:汗,一发这个就被一堆人在2月27号强势打脸……传送门(BZOJ)传送门(UOJ)说说这道题目吧:首先是说说这个构图吧。因为有选择关系,我们很容易想到最小割。Ans=sigma(i为白色){w[i]}+ sigma(i为黑色){b[i]}- sigma(奇怪的i){p[i]} 转化一下就变成了sigma(所有的i){w[i]+b[i]}- sigma
geng4512
·
2016-02-24 00:00
线段树
最小割
VFK
BZOJ 3196: Tyvj 1730 二逼平衡树|线段树套平衡树
树状数组套
主席树
怎么没人写,真的会MLE吗好久没写4K以上的代码了~#include #i
ws_yzy
·
2016-02-23 15:00
线段树套平衡树
【bzoj3218】 a + b Problem 最小割+
主席树
(自己YY的)对原序列建
主席树
,我们发现每个点的区间其实对应着
主席树
上的O(logn)个节点不妨建出一棵
主席树
,每
qingdaobaibai
·
2016-02-23 14:10
数据结构
图论
上一页
17
18
19
20
21
22
23
24
下一页
按字母分类:
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
其他