Vasya và Dãy Số Tốt
Đề bài
Mô tả
Cho dãy số nguyên dương . Với mỗi phần tử của dãy, ta được phép thực hiện thao tác sau bao nhiêu lần tuỳ ý: chọn hai bit bất kỳ trong biểu diễn nhị phân của số đó và hoán đổi chúng cho nhau. Thao tác này có thể làm phần tử đó thay đổi giá trị, nhưng không làm thay đổi số bit của nó.
Một dãy con liên tiếp được gọi là tốt nếu, sau hữu hạn lần áp dụng thao tác trên (trên các phần tử bất kỳ của đoạn), ta có thể làm cho XOR (phép hoặc-loại trừ theo bit) của tất cả các phần tử trong đoạn bằng .
Hãy đếm số cặp với sao cho đoạn là một dãy tốt.
Dữ liệu vào
- Dòng đầu chứa số nguyên .
- Dòng thứ hai chứa số nguyên .
Dữ liệu ra
Một số nguyên duy nhất — số cặp thoả mãn.
Ràng buộc
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 3 6 7 14 |
2 | Hai cặp tốt là và . Với : , , . Với : , , , . |
| 4 1 2 1 16 |
4 | Bốn cặp tốt là , , và . |
Bình luận