圆方树:元芳你怎么看
圆方树推荐
圆方树是什么?
Tarjan家族中,最不好处理的是点双
因为一个割点可能属于很多的DCC。
为了把图缩成一棵树,我们不得不做出这样的处理:
摘自:https://blog.csdn.net/qq_39670434/article/details/81973923
这个树不但丑。而且,对于一个点双内部的信息,我们把它缩成了一个点,内部的与非割点有关的路径我们一无所知。
所以这个玩意只能用来维护连通性。。。。以及简单的问题。
而且要分类讨论一大堆。,。。。
然后,圆方树横空出世。
摘自yyb博客
这样,我们
既保留了整体上树的优美结构,又可以保留所有的原始节点。
利用圆点和方点之间的边来存储信息,就可以比较轻松处理具体点双内部的路径了。
圆方树是处理仙人掌问题的。
处理仙人掌问题还有一个方法:dfs树。
我们发现一个仙人掌无非就是多了几个环。
那么找一个dfs树出来,就是多了几个返祖边。
dp的时候照顾一下就好了。
例如把环直接拉出来,或者多加一维记录环顶的信息 。
但是这个东西的低级之处在于,
基本上我们只能搜索一次,对于重复灵活查询,例如最短路径的问题,就无能为力了。恶心之处就是环的问题。
(可能用什么暴力高级数据结构维护也许可以)
圆方树就简单很多了。
一般就分方点原点讨论一下。
关键在于怎么处理圆——方边,以及方点维护哪些信息。
由于圆方树比较优秀,
它还可以用于一般的图。
既保留了整体上树的优美结构,又可以保留所有的原始节点。
利用圆点和方点之间的边来存储信息,就可以比较轻松处理具体点双内部的路径了。
原文:https://www.cnblogs.com/Miracevin/p/10045648.html