ダブリングでなはくループ検出 ループ検出で解くのが素直な問題を「これはダブリングだな」と勘違いすることが2回あったのでページにした

  • 頂点数VのグラフでN個先を読む時
    • ダブリング
      • O(VlogN)の前処理で、本処理をO(logN)にできる
      • 本処理をV回以上繰り返すなら得
      • logNが大きすぎるとこれでも無理
    • ループ検出
      • 単一始点なら最悪O(V)で前処理できる
        • 任意始点の時にどうすれば良いか?素朴にやればO(V^2)
      • Nがループに入るくらい大きい場合には、ループに入るまでの距離を引いて、ループ長で剰余を取る
      • O(1)
  • 比較
    • 任意始点でNが高々Vならダブリングの方が前処理が軽い
    • 単一始点ならループ検出の方が有利
    • 任意始点でもNがやたら大きいならループ検出