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
可持久化线段树(主席树)
【BZOJ1901】Dynamic Rankings,树状数组套
主席树
Time:2016.05.09Author:xiaoyimi转载注明出处谢谢传送门(权限)题面1901:Zju2112DynamicRankingsTimeLimit:10SecMemoryLimit:128MBSubmit:6678Solved:2777[Submit][Status][Discuss]Description给定一个含有n个数的序列a[1],a[2],a[3]……a[n],程序必
xym_CSDN
·
2016-05-09 07:00
HDU 2665 Kth number
可持久化线段树
题意:给n个数和m个询问,询问l,r,k是从l~r中的第k小思路:
可持久化线段树
的模板题说下自己对
可持久化线段树
的理解吧
可持久化线段树
的是可以保存历史版本的线段树,就是插进去第i个数的线段树的状态,这样我们可以通过
qq_27925701
·
2016-05-08 21:00
可持久化线段树
【BZOJ3932】任务查询系统,
主席树
与差分的建树思想
Time:2016.05.08Author:xiaoyimi转载注明出处谢谢传送门思路:说真的我一开始做这个题真不知道怎么建树,只知道应该以时间为根建树,记录优先值并维护前缀和,但想不出怎么用到
主席树
的前缀建树思想
xym_CSDN
·
2016-05-08 07:00
【BZOJ3439】Kpm的MC密码,trie树+dfs序+
主席树
xiaoyimi转载注明出处谢谢传送门思路:1.haveatrie,还得是倒着建的,记录每个结尾节点的id(可能会有重复,所以开一个vector记录一下)2.对trie树进行dfs序,记录结尾节点的子树区间3.建立
主席树
xym_CSDN
·
2016-05-07 21:00
【BZOJ2653】middle,
主席树
(非权值线段树)维护序列和信息+二分答案
这要求我们不能像之前那样建立权值线段树的
主席树
(区间即为权值)了,而是以权值为下标,维护区间[1,n]的信息,可能有点拗口,这里就理解是我们平
xym_CSDN
·
2016-05-06 22:00
【BZOJ2588】Count on a tree,
主席树
维护链+ST表求LCA
传送门写在前面:一天下来就写了两道
主席树
的题……(codevs上的一道智障天梯不算)思路:才知道原来
主席树
不仅可以通过dfs序维护子树区间,还可以直接维护一条到根的链……我们建好
主席树
后,每次查询u->
xym_CSDN
·
2016-05-06 21:00
【BZOJ2809】【codevs1763】派遣,
主席树
记录前缀和
传送门1传送门2写在前面:祝自己生日快乐思路:题意简述为在一棵节点有特征值有费用的有根树上选定一个节点,在它的子树上找任意个节点使其总费用不超过m,要求权值最大(权值=该节点的特征值*选择的节点数)比较暴力的思路是枚举每一个节点,从它的子树上依次选取费用从小到大的节点,直到超过费用或子树上全部节点都被选了,求出最大值即可,时间复杂度O(n2)将该思路精进一下,我们发现只要维护每个子树上的点费用从小
xym_CSDN
·
2016-05-06 07:00
【BZOJ3551】Peaks加强版,
主席树
+kruskal重构+dfs序+倍增思想
传送门写在前面:一道调了不止一上午的题目思路:我们先来看一下神奇的kruskal重构树图中红色的是原图的边权,黑色的是原图上的点这样生成的树有一些十分优美的性质:1.二叉树(好吧这题意义不大)2.原树与新树两点间路径上边权(点权)的最大值相等3.子节点的边权小于等于父亲节点(大根堆)4.原树中两点之间路径上边权的最大值等于新树上两点的LCA的点权这些神奇的性质可以解决一些图上的连通性问题。对于这道
xym_CSDN
·
2016-05-05 22:00
【BZOJ3524】Couriers,第一次的
主席树
传送门(权限)题面3524:[Poi2014]CouriersTimeLimit:20SecMemoryLimit:128MBSubmit:1449Solved:508[Submit][Status][Discuss]Description给一个长度为n的序列a。1≤a[i]≤n。m组询问,每次询问一个区间[l,r],是否存在一个数在[l,r]中出现的次数大于(r-l+1)/2。如果存在,输出这个
xym_CSDN
·
2016-05-05 21:00
K-th Number【POJ2104】——
主席树
TimeLimit:20000MSMemoryLimit:65536KCaseTimeLimit:2000MSDescriptionYouareworkingforMacrohardcompanyindatastructuresdepartment.Afterfailingyourprevioustaskaboutkeyinsertionyouwereaskedtowriteanewdatastr
huayunhualuo
·
2016-05-05 21:00
zoj2112 Dynamic Rankings (
主席树
|| 树套树)
TheCompanyDynamicRankingshasdevelopedanewkindofcomputerthatisnolongersatisfiedwiththequeryliketosimplyfindthek-thsmallestnumberofthegivenNnumbers.TheyhavedevelopedamorepowerfulsystemsuchthatforNnumber
Kirito_Acmer
·
2016-05-05 20:00
treap
主席树
bzoj 3524: [Poi2014]Couriers(
主席树
)
3524:[Poi2014]CouriersTimeLimit:20SecMemoryLimit:128MBSubmit:1448Solved:507[Submit][Status][Discuss]Description给一个长度为n的序列a。1≤a[i]≤n。m组询问,每次询问一个区间[l,r],是否存在一个数在[l,r]中出现的次数大于(r-l+1)/2。如果存在,输出这个数,否则输出0。I
clover_hxy
·
2016-05-05 08:31
主席树
bzoj 3524: [Poi2014]Couriers(
主席树
)
3524:[Poi2014]CouriersTimeLimit: 20Sec MemoryLimit: 128MBSubmit: 1448 Solved: 507[Submit][Status][Discuss]Description给一个长度为n的序列a。1≤a[i]≤n。m组询问,每次询问一个区间[l,r],是否存在一个数在[l,r]中出现的次数大于(r-l+1)/2。如果存在,输出这个数
clover_hxy
·
2016-05-05 08:00
BZOJ 4448: [Scoi2015]情报传递 树链剖分
主席树
4448:[Scoi2015]情报传递题目连接:http://www.lydsy.com/JudgeOnline/problem.php?id=4448Description奈特公司是一个巨大的情报公司,它有着庞大的情报网络。情报网络中共有n名情报员。每名情报员口J-能有若T名(可能没有)下线,除1名大头日外其余n-1名情报员有且仅有1名上线。奈特公司纪律森严,每名情报员只能与自己的上、下线联系,
qscqesze
·
2016-05-04 21:00
【SDUT OJ 2610】 Boring Counting(
主席树
)
【SDUTOJ2610】BoringCounting(
主席树
)BoringCountingTimeLimit:3000msMemorylimit:65536K有疑问?
A_LeiQ
·
2016-05-04 20:55
SDUT
OJ
线段树
ACM道路之数据结构
【SDUT OJ 2610】 Boring Counting(
主席树
)
【SDUTOJ2610】BoringCounting(
主席树
)BoringCountingTimeLimit:3000ms Memorylimit:65536K 有疑问?
ChallengerRumble
·
2016-05-04 20:00
Boring Counting——【SDUT2610】
主席树
BoringCountingTimeLimit:3000msMemorylimit:65536K题目描述InthisproblemyouaregivenanumbersequencePconsistingofNintegerandPiistheithelementinthesequence.Nowyoutaskistoansweralistofqueries,foreachquery,please
huayunhualuo
·
2016-05-04 18:00
poj 2104 K-th Number
静态区间第k大,裸的
主席树
直接上代码吧#include #include usingnamespacestd; constintINF=0x3f3f3f3f; structnode{ intv; intl
a1s4z5
·
2016-05-04 18:00
DFS序+
主席树
51Nod1681 公共祖先
思路:这道题的
主席树
用的太巧妙了~我们考虑
qwb492859377
·
2016-05-04 17:00
BZOJ 4408: [Fjoi 2016]神秘数
可持久化线段树
4408:[Fjoi2016]神秘数题目连接:http://www.lydsy.com/JudgeOnline/problem.php?id=4408Description一个可重复数字集合S的神秘数定义为最小的不能被S的子集的和表示的正整数。例如S={1,1,1,4,13},1=12=1+13=1+1+14=45=4+16=4+1+17=4+1+1+18无法表示为集合S的子集的和,故集合S的神秘
qscqesze
·
2016-05-04 15:00
【BZOJ3926】【Zjoi2015】诸神眷顾的幻想乡 后缀自动机
个人感觉Trie上写后缀自动机上的写法十分像树上的
可持久化线段树
的写法(SMG。。。先插入父亲再插入儿子/**********************************
qq_34637390
·
2016-05-02 23:00
[BZOJ3524][Poi2014]Couriers(
主席树
)
类似
主席树
的思想线段树动态开点。刚开始傻逼了,区间中出现次数超过(r-l+1)/2的数只可能有一个啊。
Clove_unique
·
2016-05-02 17:14
题解
可持久化
[BZOJ3524][Poi2014]Couriers(
主席树
)
类似
主席树
的思想线段树动态开点。刚开始傻逼了,区间中出现次数超过(r-l+1)/2的数只可能有一个啊。
Clove_unique
·
2016-05-02 17:00
poi
主席树
bzoj
【BZOJ3653】谈笑风生【
主席树
】【DFS序】
因为数据比较大,考虑用
主席树
来维护这个信息。我们用
主席树
维护深度,权值为贡献,然后按DFS序加点进去,最后区间查询就可以了。
BraketBN
·
2016-05-02 09:00
Count on a tree(树上
主席树
)
2588:Spoj10628.CountonatreeTimeLimit:12SecMemoryLimit:128MBSubmit:3980Solved:932[Submit][Status][Discuss]Description给定一棵N个节点的树,每个点有一个权值,对于M个询问(u,v,k),你需要回答uxorlastans和v这两个节点间第K小的点权。其中lastans是上一个询问的答案,
clover_hxy
·
2016-05-01 23:14
主席树
Count on a tree(树上
主席树
)
2588:Spoj10628.CountonatreeTimeLimit: 12Sec MemoryLimit: 128MBSubmit: 3980 Solved: 932[Submit][Status][Discuss]Description给定一棵N个节点的树,每个点有一个权值,对于M个询问(u,v,k),你需要回答uxorlastans和v这两个节点间第K小的点权。其中lastans是上
clover_hxy
·
2016-05-01 23:00
[置顶] 填坑计划
算法:数据结构类:并查集树上倍增树状数组线段树平衡树LCT
主席树
单调队列单调栈网络流Tarjan经典算法类:二分拓扑排序Hash线性规划(差分约束、单纯形)莫队分块三分cdq分治扫描线启发式合并DP类:
Clove_unique
·
2016-04-29 16:00
poj-2104 K-th Number[
主席树
/函数式线段树/
可持久化线段树
]
膜拜大神:点击打开链接点击打开链接【题目描述】有n个数字排成一列,有m个询问,格式为:leftrightk.即问在区间[left,right]第k大的数据为多少?纯属个人理解,有不正确的地方欢迎留言指正:先来设想下如何解决这个问题。把数字在数组中的位置i作为定义域,数字的值v[i]作为值域。假如对于[left,right]的数我们能知道它们的值域在不同区间出现的个数,就可以根据出现个数来二分查找来
a915800048
·
2016-04-29 09:00
主席树
可持久化线段树
函数式线段树
POJ 2104 K-th Number【整体二分 + 树状数组】
这题窝几个月前分别用划分树,树套树,
主席树
和挑战上介绍的分桶法实现了一发(然而现在都忘得差不多了)最快的是划分树,其次是
主席树
,然后是树套树,还有一个10000+ms分桶法的思想实现的,最上面的就是整体二分的方法
Yukizzz
·
2016-04-29 01:00
POJ 2104 K-th Number【整体二分 + 树状数组】
这题窝几个月前分别用划分树,树套树,
主席树
和挑战上介绍的分桶法实现了一发(然而现在都忘得差不多了)最快的是划分树,其次是
主席树
,然后是树套树,还有一个10000+ms分桶法的思想实现的,最上面的就是整体二分的方法
An55511
·
2016-04-29 01:00
bzoj 3218: a + b Problem|最小割|
主席树
本来以为是强行加
主席树
没想到是
主席树
优化建边太神了!!注意
主席树
叶子节点的特判wa了1h+!
suxb201
·
2016-04-26 21:32
晚上
bzoj2653: middle
id=2653思路:陈老师的题
可持久化线段树
的又一种应用对于每次询问,二分答案我们怎么知道它是大于中位数还是小于中位数呢?
thy_asdf
·
2016-04-26 10:00
[bzoj3489] A simple rmq problem 解题报告
所以如果把询问的区间看作平面上的点,这就相当于是对一个矩形产生贡献,考虑到这题要求离线,所以我们就可以用二维
可持久化线段树
来搞。。就这样跑了17s。。我
TA201314
·
2016-04-26 07:00
线段树
K-D树
bzoj3295[Cqoi2011]动态逆序对(cdq分治||
可持久化线段树
)
题目链接:点这里!!!3295:[Cqoi2011]动态逆序对TimeLimit: 10Sec MemoryLimit: 128MBSubmit: 3043 Solved: 967[Submit][Status][Discuss]Description对于序列A,它的逆序对数定义为满足iAj的数对(i,j)的个数。给1到n的一个排列,按照某种顺序依次删除m个元素,你的任务是在每次删除一个元素之
u014325920
·
2016-04-25 22:00
主席树
cdq分治
可持久化线段树
bzoj3295: [Cqoi2011]动态逆序对
不过看到这题一眼就想用
可持久化线段树
,不过带修改的
可持久化线段树
开销有点大,变了一种方法卡了点空间才过。详见代码。O(nlogn*logn)。cdq写法补了,分析和代码在下面。
Fsss_7
·
2016-04-24 23:00
cdq分治
可持久化线段树
bzoj 3430: [Usaco2014 Jan]Ski Course Rating
开始别人跟我说这道题时没告诉我对于所有点T的值都是一样的,也没告诉我是奶牛题,于是YY了一种二分答案+可持久化并查集的nlog^3n的做法:把所有边排序,建
主席树
维护加入的边权=T,那么ans+=tot
heheda_is_an_OIer
·
2016-04-23 10:00
主席树
介绍
主席树
大概是一种离线结构,我以前反正没看到过这东西,所以就自己给他起名字了!如果谁知道这东西的真名,请告诉我!现在我们知道,
主席树
的全名应该是函数式版本的线段树。
qq_24489717
·
2016-04-23 00:00
POJ 2104(
主席树
)
K-thNumberTimeLimit: 20000MS MemoryLimit: 65536KTotalSubmissions: 46358 Accepted: 15446CaseTimeLimit: 2000MSDescriptionYouareworkingforMacrohardcompanyindatastructuresdepartment.Afterfailingyourprevio
qq_24489717
·
2016-04-23 00:00
[JZOJ4444]a
1≤n≤262144,1≤m≤131072题目分析显然我们将询问拆分为与lca的差,然后使用
主席树
维护从根到某个点路径上的所有权值即可。
a_crazy_czy
·
2016-04-22 21:00
LCA
OI
主席树
[Ahoi2013]作业 解题报告
传统做法:考虑莫队,就需要我们设计一个O(1)插入,O(n√)查询的数据结构,显然就需要对权值分块,记每个数出现次数和每个块两问的答案(或者第一问另写个
主席树
也可以,我比较懒)。
TA201314
·
2016-04-22 17:00
分治
分块
主席树
莫队
k-d数
【BZOJ4546】codechef XRQRS【可持久化Trie / +
主席树
】
【题目链接】早上刚在CC上做了,中午就被人搬到BZOJ了。。不知道为什么n开50wRE,开了52w卡了下内存就过了。【CC上这题题解】/*Pigonometry*/ #include #include #include usingnamespacestd; constintmaxn=520005,maxk=21,maxnode=maxn*maxk; introot[maxn],triecnt
BraketBN
·
2016-04-22 14:00
【CodeChef-XRQRS】Xor Queries【可持久化Trie / +
主席树
】
似乎维护一个可持久化Trie和一个
主席树
就可以做了,但是仔细想想好像只需要一个可持久化Trie就完了。脑补了一下Trie上找第k大和统计数个数,似乎是对了。1A了。。
BraketBN
·
2016-04-22 08:00
bzoj4539 树
主席树
&lca
首先那个大树是由若干小树组成的,那么把每一颗小树抽象成一个点,这颗大树就变成节点为M+1的树了。同时定义树上相邻点(x,fa[x])的距离为小树x的根到小树fa[x]的根的距离。那么此时查询两个点x,y流程如下: 1.得到x所在小树u,y所在小树v; 2.若u=v,直接查询;否则令w=lca(u,v)(这里的lca为大树中的lca),然后分lca=u(v)和lca!=u且lca
lych_cys
·
2016-04-20 20:00
LCA
树链剖分
主席树
dfs序
bzoj4539: [Hnoi2016]树
4539思路:首先把大树缩点,一个点代表一次操作复制的子树两个点之间的边权值就是两个子树的根在大树中的距离,这个可以在原树中用倍增求出至于从大树标号转成原树标号,就相当于求子树内编号第k大的点的编号,用
可持久化线段树
即可
thy_asdf
·
2016-04-20 19:00
湖南集训 & HNOI2016 总结
幸好HNOI之前的那天下午刷掉了一道树状数组套
主席树
之后就开始反思最后调整了一些。
BPM136
·
2016-04-20 11:30
杂文
湖南集训 & HNOI2016 总结
幸好HNOI之前的那天下午刷掉了一道树状数组套
主席树
之后就开始反思最后调整了一些。
BPM136
·
2016-04-20 11:00
总结
bzoj 3956: Count
发现好点对互不跨立,所以只有O(n)个,用单调队列找出这O(n)个然后用
主席树
维护就可以了。对于a[i]相等的情况的单调队列写错了一些细节。
heheda_is_an_OIer
·
2016-04-19 19:00
bzoj 2809: [Apio2012]dispatching
线段树合并or可并堆or树上
主席树
我写的线段树合并,注意query递归到最后要returnsum/x,就是只剩一个数,但是个数太多。
heheda_is_an_OIer
·
2016-04-19 16:00
BZOJ 4539: [Hnoi2016]树
md强行凑数据结构题,树剖+
主席树
,各种函数搞一大堆查询,然后其实就是求两点的lca。。。。
nlj1999
·
2016-04-19 11:00
[bzoj3956]Count 解题报告
所以直接上
主席树
就行。时间复杂度O(nlogn)再来膜拜一下morestep大爷的做法(我最近好像每道题都是各种傻逼做法。。)
TA201314
·
2016-04-19 10:00
分治
主席树
上一页
18
19
20
21
22
23
24
25
下一页
按字母分类:
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
其他