1175. 最大半连通子图
题目链接
1175. 最大半连通子图
一个有向图 称为半连通的 (Semi-Connected),如果满足:,满足 或 ,即对于图中任意两点 ,存在一条 到 的有向路径或者从 到 的有向路径。
若 满足, 是 中所有和 有关的边,则称 是 的一个导出子图。
若 是 的导出子图,且 半连通,则称 为 的半连通子图。
若 是 所有半连通子图中包含节点数最多的,则称 是 的最大半连通子图。
给定一个有向图 ,请求出 的最大半连通子图拥有的节点数 ,以及不同的最大半连通子图的数目 。
由于 可能比较大,仅要求输出 对 的余数。
输入格式
第一行包含三个整数 。 分别表示图 的点数与边数, 的意义如上文所述;
接下来 行,每行两个正整数 ,表示一条有向边 。
图中的每个点将编号为 到 ,保证输入中同一个 不会出现两次。
输出格式
应包含两行。
第一行包含一个整数 ,第二行包含整数 。
数据范围
,
,
输入样例:
输出样例:
解题思路
缩点,dag上dp
如果选择的最大半连通子图的一个点在强连通分量上,则该强连通分量都应该选上,故需要缩点,另外注意新建的图不能有重复边,需要特判, 的逆序即拓扑序,所以缩点后的 的逆序即为拓扑序,然后 上 :
-
状态表示:
-
- 表示终点为 的最多半连通子图节点数
-
- 表示终点为 的最多半连通子图节点数的方案数
-
时间复杂度:
代码
__EOF__

本文作者:acwing_zyy
本文链接:https://www.cnblogs.com/zyyun/p/16577836.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
本文链接:https://www.cnblogs.com/zyyun/p/16577836.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!