题目大意:给你一颗n个节点的树,最初点集S为空. 有m次操作:往当前点集S中加入/删除一个点,询问点x至集合S中任意点的最小距离,回到第t次修改点集的操作后的状态. 数据范围:$n,m≤10^5$ 我们先无视这个可持久化的要求,考虑下不可持久化怎么做. 显然考虑动态树分治. 令点v为当前分治中心,u为v在点分树上的父亲, 每个点开一个数组D,D[x]表示以v为根的点分树中,与v距离为不大于x的点的标记点数量. 我们借助这个数组,可以方便地求出从v走最少多少步可以走到一个标记点. 首先考虑查询操作…