仙人掌&圆方树学习笔记

前言

补了这个辣鸡算法吧..

仙人掌

定义:一张图中任意一条边最多只会出现在一个环中

DFS树的做法

对图进行dfs,记录dfs的编号形成一棵树
显然最后边会分为两类
树边和非树边
环一定是由一些树边和一条非树边构成的
对于仙人掌问题,可以考虑对dfs树进行dp
在遇到环的时候,把环单独拿出来考虑即可…

圆方树

为了解决大多数静态仙人掌问题,我们就引入了这个算法!

以下来自WC2017营员交流课件

仙人掌 G=(V,E)G=(V,E)的圆方树T=(VT,ET)T=(VT,ET)为满足以下条件的无向图:
VT=RTST,RT=V,RTST=VT=RT∪ST,RT=V,RT∩ST=∅,我们称RTRT 集合为圆点、STST 集合为方点
eE∀e∈E,若 ee 不在任何简单环中,则eET对于每个仙人掌中的简单环 RR,存在方点 pRST ,并且
pR∀p∈R 满 足 (pR,p)ET(pR,p)∈ET ,即对每个环建方点连所有点

如果不想看 可以看下面我说的..

把图中原有的所有点看成圆点
对于图中任意一个大于1的点双,我们新建一个方点,把这个点双中的所有点向这个方点连边

比如这张图就是个很好的栗子(来自营员交流课件..)
这里写图片描述

有一些性质
1:圆方树是一棵无根树
2:圆方树中方点不会跟方点连边

定义子仙人掌为:
定义:子仙人掌

rr为根的仙人掌上的点p的子仙人掌是去除掉ppr的所有简单路径后,pp所在的联通块

3:以r为根的仙人掌上p的子仙人掌即为以r为圆方树的根的p的子树中所有圆点

这时候我们可以把环上的信息保存在方点上
然后就很舒服地
dp!!!!!!!!!!

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值