当前位置: 首页 > news >正文

G002 强连通分量 Tarjan算法 CF999E Reachability from the Capital

CF999E Reachability from the Capital - CodeForces

给定一个有向图和一个节点 \(s\) ,问最少加多少条边可以使 \(s\) 可以到达图中所有的点( \(s\) 可以到达自身)

考虑缩点,缩点后源点一定被无法到达,所以我们需要统计源点的个数。

特判,当 \(s\) 在其中一个源点中时,这时应该少加一条边。

import sys
sys.setrecursionlimit(10000)
if 1:inp = lambda: sys.stdin.readline().strip()II = lambda: int(inp())MII = lambda: map(int, inp().split())LII = lambda: list(MII())Max = lambda x, y: x if x > y else yMin = lambda x, y: x if x < y else ydef main():n, m, s = MII()g = [[] for _ in range(n + 1)]for _ in range(m):u, v = MII()g[u].append(v)dfn = [-1] * (n + 1)low = [-1] * (n + 1)st = []inst = [False] * (n + 1)scc_id = [-1] * (n + 1)scc = 0timer = 1def tarjan(x):nonlocal timer, sccdfn[x] = low[x] = timertimer += 1st.append(x)inst[x] = Truefor y in g[x]:if dfn[y] == -1:tarjan(y)low[x] = Min(low[x], low[y])elif inst[y]:low[x] = Min(low[x], dfn[y])if dfn[x] == low[x]:while True:cur = st.pop()inst[cur] = Falsescc_id[cur] = sccif cur == x:breakscc += 1for i in range(1, n + 1):if dfn[i] == -1:tarjan(i)din = [0] * sccfor u in range(1, n + 1):for v in g[u]:if scc_id[u] != scc_id[v]:din[scc_id[v]] += 1cnt = sum(1 for i in range(scc) if din[i] == 0)print(cnt - 1 if din[scc_id[s]] == 0 else cnt)if __name__ == "__main__":main()
http://www.jsqmd.com/news/405733/

相关文章:

  • 研究生收藏!抢手爆款的AI论文写作软件 —— 千笔·专业学术智能体
  • 原创论文:基于LSTM神经网络的金属材料机器学习本构模型研究
  • 新手也能上手 8个一键生成论文工具测评:本科生毕业论文写作全攻略
  • 基于Java的客户管理系统源码解析
  • 综述不会写?9个AI论文软件测评:本科生毕业论文写作神器推荐
  • 赶deadline必备!风靡全网的降AI率软件 —— 千笔·降AIGC助手
  • springboot高校学生学业预警系统vue
  • 互联网大厂Java求职面试实战:Spring Boot微服务与Kafka消息队列解析
  • 似曾相识
  • springboot高校食堂饭堂采购员工管理系统vue
  • 批量上传md文档中的图片
  • 书单短视频解说配音软件推荐,精选实测8款好用
  • 永辉超市卡使用及回收全攻略,解锁闲置卡券新价值 - 京顺回收
  • 横梁货架品牌哪家强?2026年这些品牌值得一看,中型货架/阁楼货架/自动化立体库货架/横梁货架,横梁货架定制厂家哪家权威 - 品牌推荐师
  • 编程的真正魔法:超越语言的关键能力
  • 船用安全阀品牌解析:2026年值得关注的厂商,船用安全阀/船用附件/船用舷侧阀/船舶配件,船用安全阀厂家选哪家 - 品牌推荐师
  • 海康Vm拿取数据的几种方式
  • 伟大技术背后的简单直觉
  • 数据科学开源工具与系统思维实践谈
  • 2025重型货架实力厂家汇总,助力企业发展,层板货架/穿梭式货架/重型货架/仓储货架/中型货架,重型货架品牌怎么选 - 品牌推荐师
  • 为什么伟大的技术常以论文形式诞生
  • C#x2B;#x2B;拷贝函数:const与引用的高效实践
  • 高并发服务器开发:多进程与多线程实现深度解析
  • 人工智能之数学基础:函数的极限
  • 综述不会写?千笔·专业论文写作工具,好评如潮的AI论文网站
  • 2026年百度竞价广告推广代运营公司/服务商评测推荐:五强对比与中立对比助决策 - 深圳昊客网络
  • 测完这批工具!9个AI论文工具深度测评与推荐——本科生毕业论文写作必备
  • 优雅草科技2026年2月重磅产品·优雅草·写作中枢 — 产品介绍与发布说明
  • 告别低效繁琐!降AIGC软件 千笔AI VS WPS AI,MBA专属首选
  • 人工智能之数学基础:贝叶斯、极大似然、后验估计的关系