首页 > 其他 > 详细

[学习笔记]圆方树

时间:2018-11-30 19:41:48      阅读:163      评论:0      收藏:0      [点我收藏+]

圆方树:元芳你怎么看

 

圆方树推荐

 

 

圆方树是什么?

Tarjan家族中,最不好处理的是点双

因为一个割点可能属于很多的DCC。

为了把图缩成一棵树,我们不得不做出这样的处理:

摘自:https://blog.csdn.net/qq_39670434/article/details/81973923

技术分享图片

这个树不但丑。而且,对于一个点双内部的信息,我们把它缩成了一个点,内部的与非割点有关的路径我们一无所知。

所以这个玩意只能用来维护连通性。。。。以及简单的问题。

而且要分类讨论一大堆。,。。。

 

然后,圆方树横空出世。

摘自yyb博客

技术分享图片

这样,我们

既保留了整体上树的优美结构,又可以保留所有的原始节点。

利用圆点和方点之间的边来存储信息,就可以比较轻松处理具体点双内部的路径了。

 

圆方树是处理仙人掌问题的。

处理仙人掌问题还有一个方法:dfs树。

我们发现一个仙人掌无非就是多了几个环。

那么找一个dfs树出来,就是多了几个返祖边。

dp的时候照顾一下就好了。

例如把环直接拉出来,或者多加一维记录环顶的信息 。

[SHOI2008]仙人掌图 II——树形dp与环形处理

 

但是这个东西的低级之处在于,

基本上我们只能搜索一次,对于重复灵活查询,例如最短路径的问题,就无能为力了。恶心之处就是环的问题。

(可能用什么暴力高级数据结构维护也许可以)

 

圆方树就简单很多了。

一般就分方点原点讨论一下。

关键在于怎么处理圆——方边,以及方点维护哪些信息。

 

由于圆方树比较优秀,

它还可以用于一般的图。

 

 

总之:

既保留了整体上树的优美结构,又可以保留所有的原始节点。

利用圆点和方点之间的边来存储信息,就可以比较轻松处理具体点双内部的路径了。

 

[学习笔记]圆方树

原文:https://www.cnblogs.com/Miracevin/p/10045648.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!