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
启发式合并
【主席树
启发式合并
】【P3302】[SDOI2013]森林
Description给定一个\(n\)个节点的森林,有\(Q\)次操作,每次要么将森林中某两点联通,保证操作后还是个森林,要么查询两点间权值第\(k\)小,保证两点联通。强制在线。Limitation\(1~\leq~n,~Q~\leq~80000\)Solution考虑有连边还有查询链上第\(k\)大,于是要么用LCT,要么用主席树。考虑如果用LCT的话,并不能快速的维护两点间链的信息(其实感
weixin_34015336
·
2020-06-28 09:22
Helvetic Coding Contest 2018 online mirror (teams allowed, unrated)F3 - Lightsabers (hard)
+x^{a_i})\),第k项即为答案,
启发式合并
fft即可组合(即set):普通生成函数.排列:指数型生成函数//#pragmaGCCoptimize(2)//#pragmaGCCoptimize(
weixin_30537391
·
2020-06-27 21:44
HDU - 4358 Boring counting (树上
启发式合并
/线段树合并)
启发式合并
1:(748ms)1#include2usingnamespacestd;3typedeflonglongll;4constintN=1e5+10;5intn,m,k,a[N],b[N],nb
weixin_30302609
·
2020-06-27 15:02
【bzoj1483】【hnoi2009】【梦幻布丁】【链表+
启发式合并
】
DescriptionN个布丁摆成一行,进行M次操作.每次将某个颜色的布丁全部变成另一种颜色的,然后再询问当前一共有多少段颜色.例如颜色分别为1,2,2,1的四个布丁一共有3段颜色.Input第一行给出N,M表示布丁的个数和好友的操作次数.第二行N个数A1,A2...An表示第i个布丁的颜色从第三行起有M行,对于每个操作,若第一个数字是1表示要对颜色进行改变,其后的两个整数X,Y表示将所有颜色为X
sunshinezff
·
2020-06-26 16:04
链表
启发式合并
(堆、set、splay、treap)/线段树合并学习小记
启发式合并
刚听到这个东西的时候,我是相当蒙圈的。特别是“启发式”这三个字莫名的装逼,因此之前一直没有学。实际上,这个东西就是一个SB贪心。
Iking123
·
2020-06-25 11:05
学习小记
启发式合并
-------data
Segment
Tree
平衡树
heap
启发式合并
#
启发式合并
##先来分类一般来说,OI中的名词大概分成这几大类.思想:模拟,贪心,动态规划,模型转换策略:固定策略,随机化策略,启发式策略算法:……显然在合并时使用启发式策略的算法,被称之为
启发式合并
.
Bzy369258147
·
2020-06-25 09:07
算法介绍
cf375d
还有可以写
启发式合并
总结:写两个程序的时候都出现了小错。莫队是++x和x++位置写错,
启发式合并
是dfs时反复用了同一个数组。。。。我是傻子吗???
purple__moon
·
2020-06-24 20:51
dsu on tree
但是这并不代表并查集上树了,只是代表用到了
启发式合并
的思想。进入正题:我们有一颗树,有对于子树的询问。这种题暴力就是遍历每个节点的子树中的所有信息暴力统计出来更新答案,然后消除该节点的贡献。
神之右大臣
·
2020-06-24 20:00
树上
启发式合并
总结
前言某一天发现一道树上
启发式合并
裸题,但我不会写……学习并刷了两天的题,是时候来写个总结了正文树上
启发式合并
(DSUonTree),是一个在O(nlogn)O(nlogn)O(nlogn)时间内解决许多树上问题的有力算法
p_b_p_b
·
2020-06-24 19:41
树上启发式合并
算法总结
【树上
启发式合并
】 HDU6430
为啦和
启发式合并
相关,我们考虑这样的暴力算法。
wust_wangzhi
·
2020-06-24 12:00
【图论】-大合集
hdu 4670 Cube number on a tree,平衡树,
启发式合并
又找到一个
启发式合并
的练手题。还不太清楚这种算法的可以先看看这篇。这题问的是有多少个路径满足路径的乘积是立方数。
asdfgh0308
·
2020-06-22 15:32
启发式合并
HDU
数据结构
【算法】树上
启发式合并
算法
树上
启发式合并
算法是
启发式合并
算法在树上的应用。下面我直接通过一个例子来讲解这个算法。例:给定一棵有根树,树的结点编号为1~n,根结点为结点1。结点i有颜色col[i],其中1≤col[i]≤n。
zjunzhao
·
2020-06-22 09:32
算法总结
启发式合并
HDU-4358:Boring counting(树上
启发式合并
)
BoringcountingTimeLimit:6000/3000MS(Java/Others)MemoryLimit:98304/98304K(Java/Others)ProblemDescriptionInthisproblemweconsiderarootedtreewithNvertices.Theverticesarenumberedfrom1toN,andvertex1represen
Mitsuha_
·
2020-06-22 01:02
启发式合并
2018 UESTC Training for Data Structures--L - 爱吃瓜的伊卡洛斯(2)
启发式合并
+并查集+set
L-爱吃瓜的伊卡洛斯(2)TimeLimit:1000MSMemoryLimit:64MBSubmitStatus伊卡洛斯很爱吃西瓜。一次,他来到一个西瓜摊旁,发现水果摊有NN个西瓜,西瓜有红色、黄色、绿色、蓝色……等等数不清的颜色。伊卡洛斯很想知道知道一些信息,便于老板交谈了起来。当老板的话的第一个字符为”A”时,老板会告诉伊卡洛斯一些信息,格式如下:Axy1Axy1这句话表示第xx个西瓜和第y
Dave_L
·
2020-06-21 20:36
并查集
STL
树上的
启发式合并
CF1009 F. Dominant Indices
http://codeforces.com/contest/1009/problem/F讲解:http://codeforces.com/blog/entry/44351讲解中的问题是解决树上结点特性查询,而本题是查询相对于一个结点每一层根的个数。#include#definemaxn1000010usingnamespacestd;typedefpairP;vectorG[maxn];intsz
DlPF_C
·
2020-06-21 19:45
数据结构
LOJ6041 「雅礼集训 2017 Day7」事情的相似度
题目传送门分析:前缀的公共后缀,那直接SAM安排上两个前缀的公共后缀为两个串对应Parent树上节点的LCA于是\([l,r]\)之间的公共后缀最长对应这些点两两在Parent树上LCA的最大的lenSet
启发式合并
做法
Darknesses
·
2020-06-11 15:00
树上
启发式合并
_训练总结+题目清单
前言:树上
启发式合并
(DSUonTree),是一个在O(nlogn)时间内解决许多树上问题的有力算法,其对于树上离线问题的处理速度大于等于其他的算法,且更容易理解(个人认为处理与子树的关系牵涉很多)。
Anonytt
·
2020-06-10 14:00
Wannafly Day2 E 阔力梯的树(树上
启发式合并
)
题目链接:https://ac.nowcoder.com/acm/contest/4010/E题目分析:错误解法:看一眼就知道要用set,于是我一开始非常莽的跑了一发O(n*n*logn)的假算法,过了70%的数据,就是对于每次操作,新添加的树合并到重儿子上,合并完之后,用vector把set里的元素全部复制(提取)出来,再O(n)扫一发vector序列,想想吧,1e5大小的肯定爆TLE了.1#i
Anonytt
·
2020-06-09 21:00
组合数学+ntt+
启发式合并
+容斥原理
#include#include#include#includeusingnamespacestd;typedeflonglongll;constintmaxn=3e5+10,mod=998244353,G=3,Gi=332748118;typedefpairP;llquick(lla,llb,llm){llans=1;while(b>0){if(b&1)ans=ans*a%m;a=a*a%m;b
Faker_fan
·
2020-06-01 15:00
可持久化并查集
回想普通的并查集,为了保证可持久化,如果还使用路径压缩合并,代价是相当大的,为了保证复杂度,
启发式合并
(按秩合并)是更好的选择。
philochest
·
2020-02-09 00:00
Wannafly Camp 2020 Day 2E 阔力梯的树 - set,
启发式合并
搞一波
启发式合并
即可#includeusingnamespacestd;#defineintlonglong#defineiterset::iteratorconstintN=100005;structmyset
Mollnn
·
2020-02-03 23:00
「luogu3402」【模板】可持久化并查集
由于我们要做到可持久化,所以我们就考虑用
启发式合并
。至于路径压缩,ta好像会因为某些原因而MLE和TLE其实我也没试过那么我们在合并的时候就只需要借助主席树完成单点查询和修改就好了。
Sangber
·
2020-02-01 21:00
[NOI2016]优秀的拆分
题目好像经典的做法是关键点+调和级数,但是不太会;于是就打个SAM+暴力
启发式合并
我们只需要算一下每个\(i\)是多少个AA串的结尾,是多少个BB串的开头,我们发现这两个问题其实是等价的;我们算每个\(
asuldb
·
2020-01-22 11:00
题解乱写
可持久化数据结构A.森林树上的数据结构常可以
启发式合并
,用
启发式合并
的思路合并树上主席树就可以了。B.影魔一个常见的这种数据结构题的套路是:离线询问,按右端点排序。
skyh
·
2019-12-29 11:00
[SDOI2013]森林(
启发式合并
)(主席树)
题目描述小Z有一片森林,含有N个节点,每个节点上都有一个非负整数作为权值。初始的时候,森林中有M条边。小Z希望执行T个操作,操作有两类:Qxyk查询点x到点y路径上所有的权值中,第k小的权值是多少。此操作保证点x和点y连通,同时这两个节点的路径上至少有k个点。Lxy在点x和点y之间连接一条边。保证完成此操作后,仍然是一片森林。为了体现程序的在线性,我们把输入数据进行了加密。设lastans为程序上
ezoi_ly
·
2019-12-28 10:00
可持久化数据结构(平衡树、trie树、线段树) 总结
然而好像没有平衡树还是题解包:T1:森林树上主席树+
启发式合并
。然而好像知道标签就没啥了。
真-不能AKt
·
2019-12-19 07:00
CSP2019赛前小复习:
无非是
启发式合并
,不
Cold_Chair
·
2019-11-12 11:00
[考试反思]1106csp-s模拟测试103: 渺茫
T3部分分打满,很明显了却没有想到
启发式合并
说实在的还是经验不足实力不够,面对难题原型毕露(虽说相对于简单题稍
DeepinC
·
2019-11-07 07:00
[题解]luogu_P3201_梦幻布丁(
启发式合并
后来并不会,其实线段树和平衡树经常能解决类似问题,所以线段树做不了不妨考虑平衡树,写部分分也可以其实可以用平衡树维护每种颜色的位置,我还想把连续段合成一个点,后来看题解根本不用,直接维护所有出现位置就行,每次
启发式合并
羊肉汤泡煎饼
·
2019-10-21 19:00
(01字典树+
启发式合并
)
(01字典树+
启发式合并
)题意:给你一颗树,要求找出简单路径上最大权值为1~n每个边权对应的最大异或和题解:根据异或的性质我们可以得到\(sum_{(u,v)}=sum_{(u,1)}\bigoplussum
buerdepepeqi
·
2019-10-10 01:00
并查集+
启发式合并
+LCA思想 || 冷战 || BZOJ 4688
启发式合并
,把size小的子树往大的上并,可以证明树高是logN的(我不会),所以最后套一个LCA思想,直接向上跳着找出路径上最大的tim值即为答案,时间复杂度O(NlogN)。
AlenaNuna
·
2019-10-04 23:00
[loj3052]春节十二响
显然是对两边都排好序,然后大的配大的,小的配小的(正确性比较显然),最后再加入根(根只能单独选)这个结果其实也可以理解为将所有max构成一条新的链,求出因此,对于每一个结点计算出答案,然后与别的点合并得到父亲,用
启发式合并
PYWBKTDA
·
2019-10-03 22:00
并查集+优先队列+
启发式合并
|| 罗马游戏 || BZOJ 1455 || Luogu p2713
并查集维护每个人在哪个团里,优先队列维护每个团最低分和最低分是哪位,然后每次判断一下哪些人死了,随便写写就行并查集在Merge时可以用
启发式合并
,就是把小的团往大的团并,这样显然会更优。
AlenaNuna
·
2019-10-03 00:00
BZOJ3145 [Feyat cup 1.5]Str 后缀树、
启发式合并
传送门——BZOJCH考虑两种情况:1、答案由一个最长公共子串+可能的一个模糊匹配位置组成。这个用SAM求一下最长公共子串,但是需要注意只出现在\(S\)的开头和\(T\)的结尾的子串是不能够通过额外的一个模糊匹配得到更长的子串的,而对于其他的子串来说都可以。2、答案由模糊位置两遍的子串构成。暴力就是枚举\(S\)和\(T\)中模糊匹配的位置\(i,j\),那么长度就是\(LCS(i-1,j-1)
CJOIer_Itst
·
2019-09-15 19:00
CF888G XOR-MST 最小异或生成树
启发式合并
代码#include#definelllonglongusingnamespacestd;constint_=2e5+7;intn,a[_],ch[_*30][2],siz[_*30],cnt
复杂的哈皮狗
·
2019-08-24 20:00
并查集
两个操作1.判断两个元素是否位于同一个集合判断的依据是集合根是否相等2.合并两个集合合并是根合并(当然也有
启发式合并
)两个技巧合并根合并也就是gf合并gf判断同属于集合问题一个定义路径压缩路径压缩实际上是把一棵树的根节点设置为所有节点的父亲
ALEZ
·
2019-07-28 17:00
【主席树
启发式合并
】【P3302】[SDOI2013]森林
Description给定一个\(n\)个节点的森林,有\(Q\)次操作,每次要么将森林中某两点联通,保证操作后还是个森林,要么查询两点间权值第\(k\)小,保证两点联通。强制在线。Limitation\(1~\leq~n,~Q~\leq~80000\)Solution考虑有连边还有查询链上第\(k\)大,于是要么用LCT,要么用主席树。考虑如果用LCT的话,并不能快速的维护两点间链的信息(其实感
一扶苏一
·
2019-06-30 02:00
LuoguP5290 [十二省联考2019]春节十二响 |
启发式合并
题解想了半天的树剖也没想出来,放弃梦想去看题解……(你怎么不先想想部分分啊喂)发现是
启发式合并
。考虑一条链(1号节点在中间的某个位置)咋做。这棵树的形状是1号节点下面挂着两条长链。隶属于同一条链的节点
胡小兔
·
2019-05-05 22:00
【堆的
启发式合并
】【P5290】[十二省联考2019]春节十二响
Description给定一棵\(n\)个节点的树,点有点权,将树的节点划分成多个集合,满足集合的并集是树的点集,最小化每个集合最大点权之和。Limitation\(1~\leq~n~\leq~2~\times~10^5,~1~\leq~M~\leq~10^9\)其中\(M\)表示树的最大点权。Subtasks:对于前\(45\%\)的数据,\(n~\leq~16\)另有\(15\%\)的数据,保
一扶苏一
·
2019-04-09 20:00
「雅礼集训 2017 Day7」事情的相似度(SAM set
启发式合并
二维数点)
正解是SAM+set
启发式合并
+二维数点/SAM+LCT但是我只会第一种qwq首先一个性质是两个前缀的最长公共后缀就是他们再parent树上的LCA的len那么我们考虑每个LCA的贡献。
自为风月马前卒
·
2019-03-29 22:00
【Atcoder】AGC007 B-F简要题解
∣Sx∣≤2∣Sl∣|S_x|\leq2|S_l|∣Sx∣≤2∣Sl∣,类似于
启发式合并
,时间复杂度O(nlog2n)O(n\log^2n)O(nlog2n
ccosi
·
2019-03-07 22:30
妙
atcoder
dsu on tree(树上
启发式合并
)
简介对于一颗静态树,O(nlogn)时间内处理子树的统计问题。是一种优雅的暴力。算法思想很显然,朴素做法下,对于每颗子树对其进行统计的时间复杂度是平方级别的。考虑对树进行一个重链剖分。虽然都基于重链剖分,但不同于树剖,我们维护的不是树链。对于每个节点,我们先处理其轻儿子所在子树,轻子树在处理完后消除其影响。然后处理重儿子所在子树,保留其贡献。然后再暴力跑该点的轻子树,统计该点子树的最终答案。如果该
__orange
·
2019-03-03 05:00
启发式合并
Codeforces600E
E.Lomsatgelraltimelimitpertest2secondsmemorylimitpertest256megabytesinputstandardinputoutputstandardoutputYouaregivenarootedtreewithrootinvertex1.Eachvertexiscolouredinsomecolour.Let'scallcolourcdomin
OtterVV
·
2019-01-21 19:30
ACM
启发式合并
bzoj2333: [SCOI2011]棘手的操作(
启发式合并
)
传送门
启发式合并
菜题。题意:支持与连通块有关的几种操作。要求支持连边,单点修改,连通块修改,全局修改和单点查值,连通块查最大值和全局最大值。
SC.ldxcaicai
·
2019-01-17 16:04
#
启发式合并
【Splay】【HNOI2012】永无乡
【题目描述】基本上一次写过的平衡树,写篇题解留个纪念开n棵Splay维护这个联通块的第k小值,合并时用
启发式合并
,因为每次
启发式合并
一定是用小合并至大,所以每个点最多被合并log次,复杂度正确维护合并情况采用并查集
Dy_Dream
·
2018-11-29 21:11
平衡树
Splay
数据结构
数据结构
平衡树
P3402 【模板】可持久化并查集
2.并查集合并时,小的往大的合并,
启发式合并
。
bluelanzhan
·
2018-11-08 20:37
并查集
主席树
【BZOJ3123】[SDOI2013] 森林(
启发式合并
主席树)
点此看题面大致题意:给你一片森林,有两种操作:询问两点之间的第kkk小点权和在两棵树之间连一条边。前置技能:树上主席树做这道题目,我们首先要会树上主席树。关于树上主席树,这有一道很好的例题:【洛谷2633】Countonatree(只包含此题的询问操作)。LinkLinkLink【洛谷2633】Countonatree的题解详见博客【洛谷2633】Countonatree(树上主席树)接下来,我们
chenxiaoran666
·
2018-10-27 15:26
BZOJ
启发式合并
主席树
DP 一般看规律(
启发式合并
)
因此可以
启发式合并
。每次把小的合并给大的。这样每个数最多被合并logloglog次。如果维护一棵比较下标的平衡树的话,对于答案有贡献的就是每个数与前驱和后继的差值。于是就用setsetset实现啦。
SC.ldxcaicai
·
2018-10-14 21:10
#
启发式合并
#
STL
【概率+生成函数+NTT+
启发式合并
】LOJ2541 PKUWC2018 猎人杀
【题目】原题地址有nnn个人,每个人有一个权wiw_iwi,进行n−1n-1n−1轮游戏,每一轮,第kkk个人被和谐的概率为wk∑i∈当前没被和谐的人wi\frac{w_k}{\sum_{i\in当前没被和谐的人}w_i}∑i∈当前没被和谐的人wiwk(要求第kkk个人没有被和谐)。求111号是最后一个被和谐的概率。1≤n,wi≤105,∑wi≤1051\leqn,w_i\leq10^5,\sum
Dream_Lolita
·
2018-10-06 08:19
数论-FFT/NTT
数论-概率与期望
【线段树合并+虚树/
启发式合并
/欧拉序】LOJ2722 NOI2018情报中心
【题目】原题地址给定一棵带边权树和树上的mmm条链,每条链有一个花费cic_ici,两条有边交的链的价值定义为:链并的边权和-两条链的花费。求最大价值。(需要用一个logloglog的做法)【题目分析】这题是SCSCSC在看,我跑过去凑热闹,然后我们搞了一个星期…\dots…两个部分都搞出了一个可行的做法,然后看题解…\dots…震惊,还能这样做。(update:如果有大佬能把第二个常数巨大的代码
Dream_Lolita
·
2018-09-26 14:55
数据结构-线段树
Tree-LCA相关
其他-虚树
上一页
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
其他