Chìa khóa
Xem PDFCó \(N\) căn phòng được xây dựng theo một đường thẳng và được đánh số từ \(1\) đến \(N\). Chỉ có những phòng có số liền kề mới thông nhau. Có khóa cửa giữa các phòng thông nhau.
Chìa khóa mở cửa thông giữa hai phòng \(i\) và \(i + 1\) có loại là \(C_i\) (\(1 \le i \le N - 1\)). Khi vào phòng \(i\) (\(1 \le i \le N\)), có thể lấy tất cả các chìa khóa ở trong phòng này. Phòng thứ \(i\) có \(B_i\) chìa khóa các loại \(A[i][1], \dots, A[i][B_i]\), đảm bảo các \(A[i][j]\) đôi một phân biệt. Chìa khóa có thể được tái sử dụng nhiều lần.
Bạn cần trả lời \(Q\) truy vấn, mỗi truy vấn cho hai số nguyên \(x, y\) (\(x \neq y\)) mô tả rằng nếu một người bị nhốt vào phòng \(x\) mà không có bất kỳ chìa khóa nào trong tay thì liệu rằng anh ta có thể vào được phòng \(y\) hay không.
Input
- Dòng 1: chứa số nguyên \(N\) (\(2 \le N \le 5 \cdot 10^5\));
- Dòng 2: chứa \(N - 1\) số nguyên \(C_1, C_2, \dots, C_{N-1}\) (\(1 \le C_i \le N\));
- Tiếp theo là \(N\) dòng, dòng thứ \(i\) (\(1 \le i \le N\)) trong đó gồm một số nguyên \(B_i\) (\(1 \le B_i \le 5 \cdot 10^5\)) ở đầu, tiếp theo là \(B_i\) số \(A[i][1], \dots, A[i][B_i]\) (\(1 \le A[i][j] \le N, \forall i, j\));
- Dòng tiếp theo ghi một số nguyên \(Q\) (\(1 \le Q \le 5 \cdot 10^5\));
- Cuối cùng là \(Q\) dòng, mô tả \(Q\) truy vấn, mỗi truy vấn gồm hai số nguyên \(X_k, Y_k\) (\(1 \le k \le Q\)).
Output
- Ghi trên \(Q\) dòng, mỗi dòng gồm một xâu là câu trả lời cho truy vấn tương ứng. Ghi
YESnếu có thể,NOnếu không thể.
Example
Test 1
Input
5
1 2 3 4
2 2 3
1 1
1 1
1 3
1 4
4
2 4
4 2
1 5
5 3
Output
YES
NO
NO
YES
Note
- Truy vấn 1: người này tìm được chìa khóa 1 trong phòng 2; qua phòng 1, nhặt chìa khóa 2, 3; đi qua các phòng 2, 3, 4.
- Truy vấn 2: không có cách nào ra khỏi phòng 4.
- Truy vấn 3: không có cách nào ra khỏi phòng 1.
- Truy vấn 4: đi từ phòng 5 đến phòng 4 rồi đến phòng 3.
Scoring
- Subtask 1 (30% số điểm): \(N, Q \le 100\).
- Subtask 2 (70% số điểm): Không có ràng buộc bổ sung.
Bình luận