Truy vấn với LCA

Xem PDF

Điểm: 1500 Thời gian: 1.0s Bộ nhớ: 256M Input: bàn phím Output: màn hình

Cho một cái cây có \(n\) nút và ta định nghĩa \(1\) là nút gốc của cây.

Bây giờ ta có \(q\) truy vấn, mỗi truy vấn có dạng: \(l_{i}\) \(r_{i}\) (\(1 \leq l_{i} \leq r_{i} \leq n\)).

Yêu cầu: Ứng với mỗi truy vấn, ta in ra LCA của tất cả các nút từ nút \(l_{i}\) đến nút \(r_{i}\)

Input

  • Dòng thứ nhất chứa số n (\(2 \leq n \leq 300000\)) - Thể hiện số nút của cây

  • \(n−1\) dòng tiếp theo, mỗi dòng gồm \(2\) số nguyên \(x,y\) - Thể hiện cạnh nối giữa hai đỉnh \(x\)\(y\)

  • Dòng tiếp theo, chứa số \(q\) (\(1 \leq q \leq 300000\)) - Thể hiện số lượng truy vấn

  • \(q\) dòng tiếp theo, mỗi dòng chứa hai số nguyên \(l_{i}\), \(r_{i}\) (\(1 \leq l_{i} \leq r_{i}\leq n\))

Output

  • Ứng với mỗi truy vấn, in ra đáp án cần tìm.

Scoring

  • Subtask \(1\) (\(40\%\) số điểm): \(2 \leq n,q \leq 20\).
  • Subtask \(2\) (\(60\%\) số điểm): Không có ràng buộc gì thêm.

Example

Test 1

Input
5
1 4
2 5
3 5
2 4
2
2 4
1 3
Output
4
1

Bình luận


  • 4
    jumptozero    8:35 p.m. 1 Tháng 7, 2021 đã chỉnh sửa

    Cảm ơn hai bạn T2K30longvu đã chia sẻ solutions ! Hai bạn có thể kết hợp với nhau viết solutions thật đầy đủ để mọi người cùng theo dõi nhé ! BQT sẽ xem xét và add vào Editorial nhé !


    • 3
      T2K30    9:38 p.m. 1 Tháng 7, 2021

      mình đang viết thêm đây :))


      • 1
        jalsol    12:33 p.m. 2 Tháng 7, 2021 đã chỉnh sửa

        anh ơi khi nào mới có editorial vậy ạ ;-; bài khó quá huhu


        • 1
          T2K30    12:55 p.m. 2 Tháng 7, 2021

          có r đó :v


          • -8
            jalsol    1:03 p.m. 2 Tháng 7, 2021

            Bình luận bị ẩn vì nhiều phản hồi tiêu cực. Nhấp vào đây để mở.

      5 bình luận nữa