LG SP2939 QTREE5 - Query on a tree V

zcmimi at 
查看原题'" class='mdui-btn mdui-btn-raised'>点击加载点击跳转根据套路,用 LCT 维护子树,信息为最值,每个节点都开一个 multiset 来记录虚子树信息思考 LCT 的定义,每个 splay 维护的是一条深度单调递增的链(也可以说是实链)我们定义 lm[x],rm[x]分别为每条实链的上端和下端能够到达最近的白点的距离这样就可以方便地更新信息了每次求解可以 access(x),splay(x),然后$x$就是树根所在实链的下端,输出 rm[x]就可以了这样不需要换根什么的,也就不需要翻转操作,省去了复杂的 pushdown 过程……