Truy vấn công ty 2

Xem dưới dạng PDF

Gửi bài giải

Điểm: 20
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 256M

Tác giả:
Kiểu bài tập

Một công ty có \(n\) nhân viên, tạo thành một cây phân cấp mà mỗi nhân viên đều có một sếp, trừ giám đốc (nhân viên số \(1\)).

Nhiệm vụ của bạn là xử lý \(q\) truy vấn dưới dạng: "Ai là sếp chung gần nhất của hai nhân viên \(a\) và \(b\) trong cây phân cấp?".

Dữ liệu vào:

  • Dòng đầu tiên chứa hai số nguyên \(n\) và \(q\): số lượng nhân viên và số lượng truy vấn.
  • Các nhân viên được đánh số từ \(1, 2, ..., n\), và nhân viên số \(1\) là giám đốc.
  • Dòng tiếp theo chứa \(n - 1\) số nguyên \(e_2, e_3, ..., e_n\): với mỗi nhân viên từ \(2, 3, ..., n\), đó là sếp trực tiếp của họ.
  • Cuối cùng, có \(q\) dòng mô tả các truy vấn. Mỗi truy vấn chứa hai số nguyên \(a\) và \(b\): ai là sếp chung gần nhất của nhân viên \(a\) và \(b\)?

Dữ liệu ra:

  • In ra kết quả cho mỗi truy vấn.

Ràng buộc

  • \(1 \le n,q \le 2 \times 10^5\)
  • \(1 \le e_i \le i\)
  • \(1 \le a,b \le n\)

Input 1

5 3
1 1 3 3
4 5
2 5
1 4

Output 1

3
1
1

Nhận xét

Không có ý kiến tại thời điểm này.