基环树

【概念】
      我们把N个点N条边连通无向图,即在树上加一条边恰好包含一个环的图,称为 基环树 。有向图中,N个点N条边、每个节点有且仅有一条入边的有向图称为 外向图有且仅有一条出边的有向图称为 内向图 。如果有向图不能保证联通,这样的有向图也可能是 内(外)向树森林 。

【过程】

1.找环

     往子节点遍历,如果当前结点的叶子结点走过就形成了一个环。

     为了重复统计或者有RE,当且仅当dfn[子节点]>dfn[当前结点]时,判定为环并标记

     记录环上结点时,从子节点不断往上跳直到跳到当前结点停止

<代码实现> 

inline void dfs(int x,int fa){
	dfn[x]=++cnt;
	for(int i=lin
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值