题意:树上每个结点有自己的颜色,支持两种操作:1.将u到v路径上的点颜色修改为c; 2.求u到v路径上有多少段不同的颜色. 分析:树剖之后用线段树维护区间颜色段数.区间查询区间修改.线段树结点中维护的有:段数,左端点颜色,右端点颜色和懒惰标记. 当区间合并时,若左孩子的右端点颜色和右孩子的左端点颜色相同,那么段数要减1. 区间修改时注意维护左右端点的颜色. 查询时若左右子区间连接处的颜色相同,段数减1. 在两点向一条链上寻找LCA时,每次查询都要保存该条链顶端的颜色,若该链顶端的颜色与下次查询的…