动态树习题

习题

本篇参考XZY大佬的题单,以及FlashHu大佬的总结

维护连通性

维护链信息

维护双联通分量

维护边权(常用于维护生成树)

维护子树信息

维护树上染色联通块

其他题型

支持操作

I 维护联通性

比较简单,就不写了

II 维护树链信息

因为LCT可以代替树链剖分的关于链的操作,所以运用split操作把x到y这条链抠出来进行操作

III 维护生成树

解题方法:

  1. 如果支持加边,那么加入一条边的时候,判断是否联通,若联通,判断这条路径上的边权最大值(最小值)和所加入的边的边权的关系,再决定continue或cut再link(每构成一个环就把环内最大(小)边删掉,若不连通,则直接加;如果支持删边,就离线逆序处理
  2. 化边为点,每个节点记录fa,ch[2],laz,val,id,ls,rs分别表示父亲,孩子,翻转标记,该点权值(如果该点为边则为边权,如果为点那么最大生成树中值为,最小生成树中值为),在该节点所在的中、以该节点为根的子树中权值最大(小)的点的编号,(若该节点表示边)与该边相连的两个点的编号
    ps:加边的时候边与该边相连的两个点加边

IV 维护虚子树信息总和与原树信息总和

V 维护树上染色联通块

VI 维护边双联通分量

VII 维护原图信息

posted @ 2023-02-07 10:34  两只风小鱼  阅读(31)  评论(0)    收藏  举报