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
启发式合并
POI 18
可以使用平衡树的
启发式合并
和线段树合并。
KuribohG
·
2015-01-13 21:00
BZOJ 2754 SCOI2012 喵星球上的点名 fail树+set
启发式合并
题目大意:给定n个目标串和m个模式串,问这m个模式串每个在多少个目标串中出现过,以及n个目标串每个以最多多少个模式串为子串我错了……就算用fail树+set
启发式合并
也优化不到O(nlog^2n)……这题的数据范围相当无解啊首先将所有名字和点名的字符串全都插进
PoPoQQQ
·
2014-12-09 00:00
AC自动机
bzoj
启发式合并
fail树
BZOJ2754
BZOJ 1483 HNOI 2009 梦幻布丁 链表+
启发式合并
对于每一种颜色维护一个链表,然后在修改颜色的时候,暴力修改一种颜色成为另一种颜色,用
启发式合并
可以保证复杂度不超过O(nlogn)。
jiangyuze831
·
2014-11-28 16:00
链表
2009
bzoj
hnoi
启发式合并
BZOJ 3551 ONTAK2010 Peaks加强版 Kruskal重构树+可持久化线段树
题目大意:同3545强制在线3545题解传送门:http://blog.csdn.net/popoqqq/article/details/40660953强制在线没法排序
启发式合并
也就用不了了Kruskal
PoPoQQQ
·
2014-11-21 14:00
kruskal
bzoj
可持久化线段树
BZOJ3551
【BZOJ】【P2212&P3702】【Poi2011】【Tree Rotations】【二叉树】【题解】【
启发式合并
】
id=3702
启发式合并
不解释Code:#include usingnamespacestd; constintmaxn=4e5+5; structnode{ intval,key,size,s;
u012732945
·
2014-10-27 10:00
bzoj
BZOJ 1483 HNOI2009 梦幻布丁 链表+
启发式合并
题目大意:给定n个布丁,每个布丁有一个颜色,多次将某种颜色的所有布丁变为另一种颜色,多次询问颜色段数数据范围:n #include #include #include #defineM1001001 usingnamespacestd; structabcd{ abcd*next; intpos; }*head[M]; intn,m,ans,a[M]; intf[M],size[M]; inlin
PoPoQQQ
·
2014-10-24 14:00
链表
bzoj
启发式合并
BZOJ1483
BZOJ 2809 APIO2012 dispatching Treap+
启发式合并
/ 可并堆
每个节点暴力重建一定不行,我们考虑可并数据结构,每个节点将子节点的信息直接合并即可可以用
启发式合并
的Treap,也可以用可并堆今天特意去学了这玩应0.0先写了左偏树然后又写了下随机堆……后者速度上更快一些不过建议从左偏树开始学起
PoPoQQQ
·
2014-10-24 12:00
treap
bzoj
启发式合并
BZOJ2809
可并堆
BZOJ 2809 APIO 2012 dispatching 平衡树
启发式合并
题目大意:给出一棵树,每一个节点有两个值,分别是这个忍者的薪水和忍者的领导力。客户的满意程度是这个点的领导力乘能够取得人数,前提是取的人的薪水总和不超过总的钱数。思路:只能在子树中操作,贪心的想,我们只要这个子树中cost最小的那些点就可以了。所以就深搜一次,每到一个节点上,把自己和所有子节点的平衡树启发式和并,然后保留不超过总钱数的人数,统计。数据范围比较大,能开longlong的地方不要吝啬。
jiangyuze831
·
2014-10-24 10:00
treap
平衡树
bzoj
启发式合并
APIO2012
BZOJ 2733 HNOI2012 永无乡 Treap+
启发式合并
题目大意:给定一个无向图以及n个点的排名,多次连接一条边,多次求某个点所在联通块中排名第k小的点的编号初始对于每个点建立一棵只有一个节点的Treap,然后每次连接两个点,利用并查集找到两个点的根节点,将size较小的Treap暴力拆解插入大的中,然后将小的并查集合并到大的中今天下午各种脑残,一个小小的Treap改了不下10遍0.0快去喝脑白金0.0#include #include #includ
PoPoQQQ
·
2014-10-23 17:00
treap
bzoj
启发式合并
BZOJ2733
BZOJ 3123 SDOI 2013 森林 可持久化线段树+
启发式合并
启发式合并
会保证时间复杂度不至于太大。然后就是用可持久化线段树维护一个树的信息,按照dfs序来建树,每个节点的可持久化链的参考版本就是它父亲的版本。
jiangyuze831
·
2014-10-21 09:00
线段树
bzoj
可持久化线段树
启发式合并
SDOI2013
BZOJ 2733 HNOI 2012 永无乡 平衡树
启发式合并
题目大意:有一些岛屿,一开始由一些无向边连接。后来也有不断的无向边加入,每一个岛屿有个一独一无二的重要度,问任意时刻的与一个岛屿联通的所有岛中重要度第k大的岛的编号是什么。思路:首先连通性一定要用并查集维护,然后就是联通快内的第k大问题,显然是平衡树。但是并查集的合并怎么搞?可以考虑按秩合并,这样的话就保证每次在平衡树中处理的元素尽量的少,就可以水过这个题了。注意一下输出-1的判断。CODE:#i
jiangyuze831
·
2014-10-17 10:00
并查集
treap
平衡树
按秩合并
bzoj
Codeforces Round #263 (Div. 1) A B C
然后从后往前扫一遍,计算后缀和,之后在从左往右扫一遍计算答案B:树形DP,0表示没有1,1表示有1,0遇到0必然合并,0遇到1也必然合并,1遇到0必然合并,1遇到1,必然切断,按照这样去转移即可C:树状数组,再利用
启发式合并
u011217342
·
2014-08-30 12:00
【BZOJ】【P2733】【HNOI2012】【永无乡】【题解】【
启发式合并
】
id=2733水
启发式合并
Code:#include usingnamespacestd; constintmaxn=1e5+10; constintmaxm=5e5+10; intn,m,q; intgetint
u012732945
·
2014-08-23 16:00
bzoj
省选
【BZOJ】【P3545】【ONTAK2010】【Peaks】【题解】【离线+并查集+平衡树
启发式合并
】
id=3545离线做法显然,并查集显然,Treap显然,
启发式合并
显然……加强版不会做唉……Code:#include usingnamespacestd; constintmaxn=1e5+10; constintmaxm
u012732945
·
2014-08-13 20:00
bzoj
省选
并查集的
启发式合并
和 路径压缩
操作之一:检索某元素属于哪个集合;操作之二:合并两个集合
启发式合并
:让深度小的数成为深度较大的树的子树路径压缩:找到u所在的树根v以后,把从u到v的路径上所有点的父亲都设置为v//f[]数组存放根节点,
u014141559
·
2014-07-08 22:00
BZOJ2733 [HNOI2012]永无乡 平衡树
启发式合并
首先因为题目中涉及到查询第K小值,所以用平衡树来维护每个连通分支的信息。那么加边这个操作怎么实现呢?其实就是将任意的两个平衡树合并。给我们的直观感受是把小的树合并到大的树里比较高效。事实上,这样做的话,所有合并操作可以在O(nlog^2n)之内解决。为什么呢?可以这样来分析。每个节点经过一次合并操作以后,它所在的树的大小至少要加倍,那么也就是说至多一个节点被合并操作影响logn次,每次合并后的插入
KuribohG
·
2014-05-31 20:00
《算法导论》笔记 第21章 21.2 不相交集合的链表表示
加权
启发式合并
,包括m个MAKE-SET、UNION和FIND-SET的序列所需的时间为O(m+nlgn)。【练习】21.2-1写出操作的伪代码。
cyendra
·
2014-04-30 20:00
BZOJ 2212([Poi2011]Tree Rotations-
启发式合并
)
2212:[Poi2011]TreeRotationsTimeLimit: 20Sec MemoryLimit: 259MBSubmit: 322 Solved: 93[Submit][Status][Discuss]DescriptionByteasarthegardenerisgrowingararetreecalledRotatusInformatikus.Ithassomeintere
nike0good
·
2013-06-23 20:00
<6.21>数据结构整理(Treap,线段树,主席树)
pid=3726离线逆序操作
启发式合并
找第K大值#include #include #include #include #include #include #include #include usingnamespacestd
Sd_Invol
·
2013-06-21 10:00
POJ 1330 Nearest Common Ancestors 最近公共祖先模板/在线/离线
Find-Set(u)]=u //设置u所在集合的祖先对于u的每一个孩子v{LCA(v)Union(v,u) //把v生成的子集并入u中ancestor[Find-Set(u)]=u//防止采用树形
启发式合并
使
Tsaid
·
2013-05-28 21:00
poj
数据结构——并查集
效率:◆按秩合并:时间:O(m*lg(n))◆路径压缩:最坏: O(n+lg(n))◆按秩合并和路径压缩:O(mα(n)) 经过
启发式合并
和路径压缩之后的并查集,执行m次查找的复杂度为O(mα(n))l
huangxy10
·
2012-09-05 15:00
数据结构
c
优化
tree
merge
并查集
优化方案:将深度小的树成为深度大的子树,称为
启发式合并
。查询操作:查找一个元素属于哪个集合,只需顺着叶子到根结点的找到该元素所在的根结点即可。
xuzengqiang
·
2012-02-27 21:00
c
优化
iterator
Class
图形
并查集
pid=1272并查集:用来查找元素所在的集合和合并2个不同的集合,如果用上
启发式合并
和路径压缩的话,能够进一步优化其效率。一般用森林表示法,即同一个集合的元素属于一颗树,其根节点为该集合的代表元素。
Coco_young
·
2012-01-12 12:00
数据结构
并查集常用操作
并查集的两个优化:基于rank的
启发式合并
;路径压缩。
心如止水
·
2010-01-06 18:00
上一页
1
2
3
4
5
6
7
8
下一页
按字母分类:
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
其他