题意:
一棵树 支持合并、分离、路径加权值、路径权值最大值
思路:
LCT入门题 也是我的第一道… 代码来源于kuangbin巨巨 我只是整理出自己的风格留作模版…
LCT比较好的入门资料是——《QTREE解法的一些研究》
LCT基本做法就是先dfs建树 然后根据输入做上述4个操作
对于合并 就是把u转到树根 然后接在v上
对于分离 就是把u转到splay的根 然后切断与左子树的连接
对于路径加值 就是求出lca 然后包含u和v的子树以及lca点进行加值
对于路径求最值 就是求出lca 然后和上面一样分三部分进行
代码:
#include
#include
#include
#include
#include
#include