Ba số OR
Xem dưới dạng PDF
Gửi bài giải
Điểm:
100
Giới hạn thời gian:
2.0s
Giới hạn bộ nhớ:
256M
đầu vào:
stdin
Đầu ra:
stdout
Tác giả:
Kiểu bài tập
Tý cần giải bài toán sau:
Trong một hệ thống mạng, mỗi máy tính được gán một mã bảo mật \(A[i]\) (\(0 \le A[i] < 2^K\)). Một nhóm ba máy được gọi là "liên minh" nếu hội tụ mã của chúng đúng bằng \(X\), tức là \(A[i] \mid A[j] \mid A[k] = X\).
Cho trước giá trị \(X\), hãy đếm số bộ ba \((i,j,k)\) phân biệt (không kể thứ tự) có mã hội tụ đúng bằng \(X\).
Đầu vào:
- Dòng 1: \(N, K\) (\(N \le 10^5\), \(K \le 20\))
- Dòng 2: \(N\) số nguyên \(A[1..N]\)
- Dòng 3: số \(X\) (\(0 \le X < 2^K\))
Đầu ra:
- Số bộ ba \((i<j<k)\) mà \(A[i] \mid A[j] \mid A[k] = X\).
Định dạng đầu vào
- Dòng đầu chứa số nguyên \(N\) và \(Q\) (\(N, Q \le 10^5\)).
- \(N-1\) dòng tiếp theo, mỗi dòng chứa hai số nguyên \(u, v\) mô tả một cạnh.
Định dạng đầu ra
- In ra kết quả của từng truy vấn trên một dòng.
Ví dụ
Input:
5 3
1 2
1 3
2 4
2 5
2 3
Output:
3
Ràng buộc
| Subtask | Điểm | Giới hạn |
|---|---|---|
| 1 | 20 | \(N \le 10^3\) |
| 2 | 30 | \(N \le 10^4\) |
| 3 | 50 | \(N \le 10^5\) |
Nhận xét