BZOJ2759 一个动态树好题 LCT

题解:

的确是动态树好题

首先由于每个点只有一个出边

这个图构成了基环内向树

我们观察那个同余方程组

一旦形成环的话我们就能知道环上点以及能连向环上点的值是多少了

所以我们只需要用一种结构来维护两个不是直接相连点的状态

由于有删边连边操作,比较容易想到lct

我们按照套路将它拆掉一条边形成一颗树

因为我们现在只知道环上某一点的值,所以我们这棵树应该是不随便换根的

每次询问只需要把当前这个点access再splay一下 查询用根怎么表示就可以了

修改方程组等价于删一条边,连一条边

删的边如果不在环上 直接删

删的边如果在环上 并且没有连上 把标记清除

删的边如果在环上 并且连上了 把这条边段删了,然后把标记边连上

猜你喜欢

转载自www.cnblogs.com/yinwuxiao/p/10138212.html
今日推荐