Dãy không lặp XOR

Đề bài

Mô tả

Cho dãy n số nguyên không âm a1,a2,,an. Dãy này được gọi là dãy triệt tiêu nếu tồn tại hai chỉ số l,r với 1lrn sao cho

alal+1ar=0,

trong đó là phép XOR (hoặc loại trừ) trên hệ nhị phân. Nói cách khác, dãy triệt tiêu là dãy chứa ít nhất một đoạn con liên tiếp có XOR bằng 0.

Hãy đếm số dãy gồm n số nguyên, mỗi số nhận giá trị trong đoạn [0,2m1], không phải là dãy triệt tiêu. Hai dãy được coi là khác nhau nếu chúng khác nhau ở ít nhất một vị trí.

Vì kết quả có thể rất lớn, hãy in ra phần dư của nó khi chia cho 109+9.

Dữ liệu vào

Một dòng duy nhất chứa hai số nguyên nm cách nhau bởi dấu cách.

Dữ liệu ra

In ra một số nguyên duy nhất: số dãy thỏa mãn, lấy phần dư khi chia cho 109+9.

Ràng buộc

  • 1n,m105

Ví dụ

Input Output Giải thích
3 2 6 Các phần tử nhận giá trị trong {0,1,2,3}. Đúng 6 dãy độ dài 3 không triệt tiêu: (1,3,1), (1,2,1), (2,1,2), (2,3,2), (3,1,3), (3,2,3). Mọi dãy chứa số 0 đều triệt tiêu ngay tại đoạn con độ dài 1.
4 2 0 Chỉ có 4 giá trị khả dụng nên không thể tạo dãy độ dài 4 nào không triệt tiêu, đáp án bằng 0.
1 1 1 Dãy độ dài 1 với giá trị trong {0,1}: chỉ có (1) là không triệt tiêu, vì (0) có đoạn con XOR bằng 0.

Bình luận

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

gnatmake 12.2.0 a68g 3.1.2 nasm 2.16.1 as_x64 2.47 awk 1.3.4 gcc 16.2.0 csc 6.12.0.200 g++ 16.2.0 g++-themis 16.2.0 g++17 16.2.0 g++20 16.2.0 g++23 16.2.0 clang++ 22.1.8 dmd 2.113.0 dart 3.13.2 gforth 0.7.3 gfortran 12.2.0 go 1.27.0 groovyc 5.1.1 javac 25.0.4 node 26.8.1 kotlinc 2.4.10 sbcl 2.2.9 lua 5.4.9 nim 2.2.10 fpc 3.2.2 fpc-themis 3.2.2 perl 5.36.0 php 8.5.10 pike 8.0 pypy3 7.3.23 python3 3.14.7 racket 8.7 ruby 4.0.6 rustc 1.98.0 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 tclsh 8.6 bun 1.4.0 deno 2.9.6 v 0.5.2 zig 0.16.0