LCT和树链剖分的区别?

P3178 [HAOI2015] 树上操作

@[编程协会主席](/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


| 下一页