Mơ mộng vô hại (Chọn ĐTQG Phú Thọ 2025-2026 (ngày 2))
Xem dạng PDFỞ đất nước X, phong trào khởi nghiệp rất được quan tâm, nhiều chính sách tốt được ưu tiên dành cho các công ty khởi nghiệp. Bên cạnh đó, việc nghiên cứu thị trường, sức tiêu thụ, chính sách thuế quan,... để từ đó có những chính sách cần thiết nhằm thực hiện tốt kế hoạch đề ra.
Trong bối cảnh đó, một công ty đang có kế hoạch tái cấu trúc nhằm thúc đẩy hoạt động kinh doanh từ đó tăng doanh số bán hàng. Trước khi áp dụng vào thực tiễn, họ sẽ tổ chức thử nghiệm mô hình công ty trên máy tính để mô phỏng quá trình tái cấu trúc này. Trong mô phỏng, nhân viên sẽ có cơ hội được thăng chức làm người đứng đầu công ty thay vì phải làm việc như một nhân viên bình thường.
Cấu trúc của công ty có thể biểu diễn như một cây có gốc tại đỉnh số 1. Cấp trên trực tiếp của nhân viên ~v~ là nhân viên ~p_v~. Năng lực của nhân viên ~v~ được định nghĩa bởi ~s_v~, các nhân viên khác nhau sẽ có tham số năng lực khác nhau, năng lực càng cao thì nhân viên càng có ích cho công ty. Tuy nhiên nếu quy trình tuyển dụng không minh bạch, có thể xảy ra trường hợp một nhân viên kém năng lực hơn lại là cấp trên của người có năng lực hơn.
Do tái cơ cấu nên ảnh hưởng trực tiếp đáng kể tới nhân sự công ty, mỗi ngày giám đốc điều hành, người đang ở gốc của hệ thống phân cấp công việc sẽ bị sa thải. Nếu còn nhân viên trong công ty, cấp dưới trực tiếp có năng lực nhất sẽ thay thế vị trí của họ. Sau đó, các cấp dưới khác của cựu giám đốc sẽ trở thành cấp dưới của giám đốc mới.
Mỗi nhân viên dễ dàng tính được cần bao nhiêu ngày để họ trở thành giám đốc điều hành. Nhiều người không muốn chờ đợi lâu như vậy, vì họ chỉ được làm giám đốc trong một ngày. Để đẩy nhanh quá trình, họ sẵn sàng "loại bỏ" một trong những đồng nghiệp của mình. Điều này có thể gây tranh cãi nhưng như trên đã nói, chỉ là mô phỏng trên máy tính để thử nghiệm. Mức độ năng lực của nhân viên bị "loại bỏ" giảm xuống 0, vì không ai muốn tương tác với họ nữa.
Yêu cầu: Bạn cần trả lời ~q~ truy vấn, với truy vấn thứ ~k~, nhân viên ~v_k~ sẽ đứng đầu công ty sau tối thiểu bao nhiêu ngày nếu họ sẵn sàng "loại bỏ" một nhân viên nào đó?
Tất cả truy vấn đều trong tưởng tượng và độc lập và mức độ năng lực thực tế của các nhân viên vẫn không thay đổi cho tất cả truy vấn.
Dữ liệu
- Dòng đầu chứa hai số nguyên ~n, q~ (~2 \le n \le 300\,000~, ~1 \le q \le n~) lần lượt là số nhân viên và số truy vấn.
- Dòng thứ hai chứa ~n - 1~ số nguyên ~p_2, p_3, p_4, \dots, p_n~ (~1 \le p_i < i~) là cấp trên trực tiếp của các nhân viên được đánh số từ 2 đến ~n~.
- Dòng thứ ba chứa ~n~ số nguyên ~s_1, s_2, \dots, s_n~ (~1 \le s_i \le n~) là mức độ năng lực của các nhân viên. Dữ liệu đảm bảo rằng chúng đều khác nhau.
- Dòng thứ tư chứa ~q~ số nguyên ~v_1, v_2, \dots, v_q~ (~1 \le v_i \le n~) là các truy vấn thăng chức. Đảm bảo rằng tất cả các số ~v_i~ đều khác nhau.
Các số trên cùng một dòng cách nhau bởi một dấu cách.
Kết quả
- In ra ~q~ số nguyên cách nhau bởi dấu cách là số ngày tối thiểu mà các nhân viên ~v_1, v_2, \dots, v_q~ có thể trở thành giám đốc.
Ví dụ
DDREAMING.INP
5 4
1 2 2 1
3 5 1 2 4
5 3 1 4
DDREAMING.OUT
1 3 0 2
Giải thích:
Trong test ví dụ, nhân viên thứ năm có thể đứng đầu công ty sau 1 ngày. Để làm điều này, việc "loại bỏ" nhân viên thứ hai. Cấu trúc của công ty sẽ thay đổi như sau (cấu trúc ban đầu, ngày 1):

Nhân viên thứ ba có thể đứng đầu công ty sau 3 ngày. Để làm điều này, việc "loại bỏ" nhân viên thứ năm hoặc thứ tư. Nếu nhân viên thứ năm bị loại bỏ, cấu trúc của công ty sẽ thay đổi như sau (cấu trúc ban đầu, ngày 1, ngày 2, ngày 3):

Nhân viên thứ nhất đã là người đứng đầu công ty, nên đáp án cho truy vấn tương ứng là 0.
Nhân viên thứ tư có thể trở thành người đứng đầu công ty sau hai ngày. Chỉ cần "loại bỏ" nhân viên thứ năm.
Giới hạn
- Subtask 1 (8% số điểm): ~p_i = 1~ hoặc ~p_i = i - 1~ với ~p_i = 1~ cho không quá 2 số ~i~;
- Subtask 2 (6% số điểm): ~p_i = 1~ hoặc ~p_i = i - 1~;
- Subtask 3 (8% số điểm): ~n \le 50~, ~q \le 50~;
- Subtask 4 (13% số điểm): ~n \le 1\,000~, ~q \le 1\,000~;
- Subtask 5 (11% số điểm): ~q \le 100~;
- Subtask 6 (9% số điểm): ~p_i = \lfloor i/2 \rfloor~;
- Subtask 7 (11% số điểm): Số cấp trên (tập hợp cấp trên trực tiếp và cấp trên của cấp trên) của một nhân viên bất kỳ không vượt quá ~100~;
- Subtask 8 (14% số điểm): ~s_i > s_{p_i}~ với mọi ~i > 1~;
- Subtask 9 (20% số điểm): Không có ràng buộc bổ sung.
Bình luận