DÃY PHÉP XOR

Cho dãy số \(A = \lbrack a_{1},a_{2},\ldots,a_{n}\rbrack\) gồm \(n\) số nguyên không âm. Từ dãy số \(A\) xây dựng được các dãy số \(X = \left\lbrack x_{1},x_{2},\ldots,x_{k} \right\rbrack(1 \leq k \leq 10^{18})\) sao cho với hai phần tử liên tiếp \(x_{i}\)\(x_{i + 1}\) bất kỳ \((1 \leq i \leq k - 1)\) số lượng bit 1 trong biểu diễn nhị phân của phép \(xor\ x_{i}\ \oplus x_{i + 1}\) chia hết cho 3.

Hai dãy được coi là khác nhau nếu tồn tại một vị trí trong dãy \(X\) àm ở đó hai phần tử khách nhau của dãy A được sử dụng, kết cả là khi hai phần tử này có cùng giá trị. Ví dụ, nếu \(A = \lbrack 1,1\rbrack\)\(k = 1\), sẽ có 2 dãy thỏa mãn điều kiện của bài toán.

Lưu ý rằng với \(k = 1\) những dãy \(X\) gồm 1 phần tử luôn thỏa mãn.

Yêu cầu: Hãy đếm số dãy \(X\) được xây dựng từ dãy \(A\).

Do kết quả có thể rất lớn, bạn chỉ cần tính kết quả theo modulo 998244353

Dữ liệu vào:

+ Dòng thứ nhất chứa hái số nguyên \(n\)\(k\ \left( 1 \leq n \leq 100,\ 1 \leq k \leq 10^{18} \right)\) cho biết độ dài của dãy \(A\)\(X\).

+ Dòng thứ hai ghi lần lượt \(n\) số nguyên \(a_{1},a_{2},\ldots,a_{n}\ (0 \leq a_{i} \leq 10^{18})\)

Kết quả:

+ Ghi một số nguyên duy nhất là số lượng dãy \(X\) thỏa mãn điều kiện đề bài modulo 998244353.

Ví dụ:

Input Output Input Output
5 2
15 1 2 4 8
13 5 15
15 1 2 4 8

Ràng buộc:

+ Subtask 1 (24%): \(k \leq 10^{5}\)

+ Subtask 2 (12%): \(n \leq 3\)

+ Subtask 3 (12%): \(a_{1} = a_{2} = \ldots. = a_{n}\)

+ Subtask 4 (12%): Với mỗi \(1 \leq i \leq n\), tồn tại số nguyên không âm \(t_{i}\) sao cho \(a_{i} = 2^{t_{i}}\)

+ Subtask 4 (40%): không có ràng buộc gì thêm

Bạn cần đăng nhập để nộp bài

hpcode.edu.vn
Code tích cực
Trong 24h
  1. npk1605 (5/10)
  2. hungeazy08 (4/26)
  3. tung (2/5)
Trong 7 ngày
  1. nguyenanhvu (40/64)
  2. khieuquan (35/59)
  3. ngokhang (27/55)
Trong 30 ngày
  1. quechi (85/105)
  2. dangphong3108 (79/125)
  3. kiennhientv (79/179)
Thống kê
AC/Sub: 97887/180710
Pascal: 17121
C++: 130348
Python: 33199
Lượt xem/tải tests: 38905

Lưu Hải Phong - 2020
[email protected]