LG SP16549 QTREE6 - Query on a tree VI

zcmimi at 
查看原题'" class='mdui-btn mdui-btn-raised'>点击加载点击跳转解法一化边为点每个点的父边赋予该点的颜色。我们需要两个 LCT,每种对应一个颜色。一条边只有在对应颜色的 LCT 中才会被连上。接着可以发现,修改一个点的颜色,只需要在原来颜色对应 LCT 中断开父边,在新颜色 LCT 中连接父边,就可以维护同色连通块了查询的时候只要找到$x$所在 splay 的根,右子树大小就是答案(相当于边的数目,根的深度最浅,只有右子树)注意: 1 节点是没有父亲的,不过为了模型的建立,要有父边,于是需要加一个虚点,让 1 的父亲指向它连边手动模拟一下应该可以懂……