@[编程协会主席](/space/show?uid=61681) ~~LCT和树剖关系很大?~~
by Andrew82 @ 2019-07-26 14:25:58
$lct$就先把$x$变成根然后$access(y)$,然后$splay$顶上打标记就好了。
虽然$lct$是一个$log$,树剖是两个,但是$lct$常数大很多时候跑不过树剖
by tiandong123 @ 2019-07-26 14:27:33
@[编程协会主席](/space/show?uid=61681)
by tiandong123 @ 2019-07-26 14:27:44
可怜的我只会树剖
by chenxia25 @ 2019-07-26 14:29:40
动态树确实常数大啊
by 编程协会主 @ 2019-07-26 14:33:59
@[tiandong123](/space/show?uid=53023)
您能再仔细说说嘛 蒟蒻刚学LCT,不大懂
by 编程协会主 @ 2019-07-26 14:34:44
LCT可以完成链操作,即支持改变树上一条链的信息,同时维护整棵树的信息,实现某两点之间所有点权值加一个值,就是将一个目标点立为根(makeroot),另一个目标点并入(access)根所在的平衡树(splay)中,然后这课树中的所有点就是两点间链上的点,像普通的splay一样打加减标记即可。
LCT支持树的连边和删边,而树剖不行,树剖可以轻松做到子树操作,而LCT比较复杂,至于效率,我只知道它们都是O(nlog^2n)算法,而且常数都挺大。
以上就是我的愚见QAQ(不懂查百度啊)
by Tommy_clas @ 2019-07-26 14:36:56
@[编程协会主席](/space/show?uid=61681)
LCT支持连边断边
复杂度更优秀,但常数太大,跑不过树剖
建议能写树剖就写树剖
by Lstdo @ 2019-07-26 14:40:10
@[Tommy_clas](/space/show?uid=110471) LCT只有一个log
by Lstdo @ 2019-07-26 14:40:50
@[Tommy_clas](/space/show?uid=110471)
最朴素的LCT是一个log的吧
by x_angelkawaii_x @ 2019-07-26 14:41:23