树的节点权值修改,边的分割,边的链接,某两点之间路径上的最大节点权值。
典型的LCT模板题!
我的代码比较冗长,是用以前做别的题的模板修改得来的,所以有些函数没有用到,不过也很有参考价值(遇到别的类似的题,可以直接修改就ok了~),是个很好的模板!
代码如下:
/*
一颗树,有很多操作:
(1)加上边a-b;
(2)将树以a为根,然后删除b和它的父节点的边;
(3)a->b的路径上的所有点权加上d(包含a,b);
(4)查询a->b的路径上最大的点权;
不合法的操作输出-1.
*/
#include
#include
#include
#include
#include
#include
#include
#include