可撤销并查集

之前没有写过可撤销并查集,这里整理一下.  

普通并查集是不支持撤销/断边操作的.  

但是如果加边顺序是 (1,2,3,4,5), 断边顺序是 (5,4,3,2,1) 的话是可以维护的.  

我们只需要用一个启发式合并的并查集加上栈来存储合并信息即可.  

这样做可行,是因为始终是向上合并,并且删除时是从上向下删除的.   

具体代码如下: 

  

在撤销的时候删除 xfa[x] 的影响就好了,这一般是较好维护的.  

1.二分图 /【模板】线段树分治

来源:luogu5787 

在这道题中,如果说没有删边操作则可以直接利用加权并查集维护奇偶性.  

然后有删边时间的话就利用线段树分治存边,利用加权并查集在线段树上合并和撤销即可.  

  

posted @   guangheli  阅读(958)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
点击右上角即可分享
微信分享提示