zoukankan      html  css  js  c++  java
  • 浅析连通分量low数组

    2019-08-20 08:50:53 上午

    • dfn[] 数组代表的是时间戳,即结点访问的时间次序。不是结点所在的深度。

    • 以其他的点作跳板,达到所能达到的时间戳最小的结点。这是没有意义的,因为只要把中间的任意一个结点删去,这条“桥”就相当于断了。应当看该结点只走一步所能达到的时间戳最小的结点

    • A - - > B - - > C
      <- - <- -

      从C到B再到A,虽然B能到A,但是更新C时 low[C] = min(low[C], dfn[B]), min中不应该是low[B]使low[C] = low[B], 因为low[B] = dfn[A] , 也就是说C可以到达A,但是如果去掉B,C就不能到A。即

    low[u] = min(low[u], dfn[v]);
    
    • A - - > B - - > C D
      < - - - - - - - - -

      C能到D,D能到A。更新为C能到A,这是合理的,因为D是C的子树,判强联通分量时,他们是一个整体,割掉的是树根向外所连接的边,而不是树的内部,所以树内的点能到达的时间戳最小的点,树根也能到达。即
      
    low[u] = min(low[u], low[v])
    
  • 相关阅读:
    typora 页内跳转
    shell脚本搭建redis集群
    Html
    python json模块
    jenkins 问题合集
    day05 每日一行
    day04 每次一行
    day03 每日一行
    day02
    day02 每日一行
  • 原文地址:https://www.cnblogs.com/daybreaking/p/12782841.html
Copyright © 2011-2022 走看看