BZOJ 1093 浅谈tarjan缩点DAG最长路径即拓扑排序

本文介绍了如何利用tarjan算法解决有向图中最长路径问题,重点讨论了半连通分量的概念,以及在处理过程中可能出现的坑点。通过拓扑排序思路,使用BFS更新状态,并通过记录每个点的来源避免重复更新,从而找到缩点后的最长链。
摘要由CSDN通过智能技术生成

这里写图片描述
(这次的图是自己画的2333)
世界真的很大
这道题有点扯,思路不太好想
关键是想清楚半连通分量的等价类
然后就好办了
有一些坑点
先看一下题吧
description:

 一个有向图G=(V,E)称为半连通的(Semi-Connected),如果满足:?u,v∈V,满足u→v或v→u,即对于图中任意
两点u,v,存在一条u到v的有向路径或者从v到u的有向路径。若G'=(V',E')满足V'?VE'是E中所有跟V'有关的边,
则称G'是G的一个导出子图。若G'G的导出子图,且G'半连通,则称G'G的半连通子图。若G'是G所有半连通子图
中包含节点数最多的,则称G'G的最大半连通子图。给定一个有向图G,请求出G的最大半连通子图拥有的节点数K
,以及不同的最大半连通子图的数目C。由于C可能比较大,仅要求输出CX的余数。

input

第一行包含
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值