PreVOI 2026 - Orterees

Xem dạng PDF

Gửi bài giải

Điểm: 60,00 (OI)
Giới hạn thời gian: 2.0s
Giới hạn bộ nhớ: 1G
Input: stdin
Output: stdout
Test chính thức

Dạng bài
Ngôn ngữ cho phép
C, C++, Java, Output Only, Pascal, PyPy, Python, Scratch, TEXT

Trong trường hợp đề bài hiển thị không chính xác, bạn có thể tải đề bài tại đây: Đề bài

Cho một cây có ~n~ ~(n \le 50000)~ đỉnh, mỗi đỉnh có ghi một giá trị không âm ~a_i~ ~(a_i \le 255)~. Các đỉnh được đánh số từ ~1~ đến ~n~. Đỉnh số ~1~ là gốc.

Cho ~q~ truy vấn có dạng ~x, i~ ~(i \le n, x \le 255)~. Với mỗi truy vấn, đếm số lượng đường đi đi qua đỉnh ~i~ mà phép toán OR của các giá trị ghi trên các đỉnh thuộc đường đi là ~x~.

Input

Dòng đầu tiên ghi ~2~ số ~n~ và ~q~.

Dòng thứ ~2~ ghi ~n~ số nguyên không âm ~a_1, a_2, \dots, a_n~.

Dòng thứ ~3~ mô tả cây ghi ~n-1~ số nguyên ~b_2, b_3, \dots, b_n~ với số ~b_i~ là số thứ tự của đỉnh là cha của nút ~i~. ~(b_i < i)~

Mỗi dòng trong ~q~ dòng tiếp theo ghi một truy vấn, có dạng ~x, i~.

Output

Với mỗi truy vấn, ghi ra trên một dòng kết quả phải tìm.

Scoring

Subtask Điểm Ràng buộc
1 ~10\%~ ~n, q \le 200~
2 ~10\%~ ~a_i \le 15~
3 ~15\%~ Cây là đường thẳng
4 ~15\%~ Với mọi query: ~x=a_i~
5 ~20\%~ Với mọi query, gọi ~j~ là cha của ~x~ thì ~a_j>i~
6 ~30\%~ Không có giới hạn gì thêm

Sample Input 1

3 3
1 2 3
1 2
3 1
2 2
3 3

Sample Output 1

2
1
3

Bình luận

Hãy đọc nội quy trước khi bình luận.


Không có bình luận tại thời điểm này.