N - 旅行会社 image

  • 初回考察
    • バスの辺に年齢の上限、下限があり、与えられた年齢がその範囲に収まっているときだけ辺が存在するとみなして到達可能範囲を求める問題
    • 年齢軸を時間軸にする
    • PAST2NではRange Addだったけど、今回はそうではない、どうするか?
      • 繋がってる範囲の右端と左端が高速に得られれば良い
      • 右端を持つフェニック木と左端を持つフェニック木を用意すれば良い
      • ある位置が与えられた時に、そこより左にある最も近い左端を見つけるのは二分探索で対数オーダー
      • 見つけた左端より右で最も近い右端を見つければ範囲がわかる
      • クエリで与えられた位置がその範囲に入ってれば、それが答え
    • 考察完了
  • 公式解説
    • 解法1
    • 解法2
      • Lをmaxのセグメント木にする
        • Range maxを使った二分探索が対数オーダーになる
        • 下限の制約に違反しない範囲が求まる
      • Rについても同様にする