Không phải dãy len

Đề bài

Mô tả

Một dãy số nguyên không âm a1,a2,,an có độ dài n được gọi là dãy len (wool sequence) nếu tồn tại hai chỉ số l,r (1lrn) sao cho:

alal+1ar=0

trong đó là phép XOR theo bit. Nói cách khác, một dãy len chứa một đoạn liên tiếp có XOR bằng 0.

Cho hai số nguyên dương nm. Hãy đếm số dãy gồm n số nguyên trong đoạn [0,2m1] không phải là dãy len. Vì kết quả có thể rất lớn, hãy in ra phần dư khi chia cho 109+9.

Dữ liệu vào

Một dòng duy nhất chứa hai số nguyên nm.

Dữ liệu ra

Một số nguyên duy nhất — số dãy không phải là dãy len, lấy dư cho 109+9.

Ràng buộc

  • 1n,m105

Ví dụ

Input Output Giải thích
3 2 6 Các dãy độ dài 3 gồm các phần tử trong {0,1,2,3} không phải dãy len là (1,3,1),(1,2,1),(2,1,2),(2,3,2),(3,1,3),(3,2,3).
1 1 1 Chỉ có dãy (1) là không phải dãy len; dãy (0)a1=0 nên là dãy len.
4 2 0 Không tồn tại dãy độ dài 4 với m=2 thỏa mãn — số tiền tố XOR phân biệt khác 0 tối đa chỉ là 3.

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.46 awk 1.3.4 gcc 16.1.0 csc 6.12.0.200 g++ 16.1.0 g++-themis 16.1.0 g++17 16.1.0 g++20 16.1.0 g++23 16.1.0 clang++ 22.1.6 dmd 2.112.0 dart 3.12.1 gforth 0.7.3 gfortran 12.2.0 go 1.26.3 groovyc 5.0.6 javac 25.0.3 node 26.2.0 kotlinc 2.3.21 sbcl 2.2.9 lua 5.4.8 nim 2.2.10 fpc 3.2.2 fpc-themis 3.2.2 perl 5.36.0 php 8.5.6 pike 8.0 pypy3 7.3.23 python3 3.14.5 racket 8.7 ruby 4.0.5 rustc 1.96.0 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 tclsh 8.6 bun 1.3.14 deno 2.8.1 v 0.5.1 zig 0.16.0