DZY và dãy Fibonacci

Đề bài

Mô tả

Cho dãy Fibonacci được định nghĩa F1=1, F2=1, Fn=Fn−1+Fn−2 với mọi n>2.

Cho một mảng gồm n số nguyên a1,a2,…,an và m truy vấn. Mỗi truy vấn thuộc một trong hai loại:

  1. Cập nhật "1 l r": với mỗi i thỏa l≤i≤r, cộng thêm Fi−l+1 vào ai.
  2. Truy vấn "2 l r": in ra giá trị (al+al+1+⋯+ar)mod(109+9).

Hãy xử lý tất cả các truy vấn theo thứ tự.

Dữ liệu vào

  • Dòng đầu tiên chứa hai số nguyên n và m.
  • Dòng thứ hai chứa n số nguyên a1,a2,…,an.
  • m dòng tiếp theo, mỗi dòng mô tả một truy vấn theo định dạng nêu trên. Đảm bảo 1≤l≤r≤n.

Dữ liệu ra

Với mỗi truy vấn loại 2, in ra một dòng chứa giá trị tổng modulo 109+9.

Ràng buộc

  • 1≤n,m≤3·105
  • 1≤ai≤109

Ví dụ

Input Output Giải thích
4 4
1 2 3 4
1 1 4
2 1 4
1 2 4
2 1 3
17
12
Sau truy vấn 1: mảng cộng thêm F1,F2,F3,F4=1,1,2,3 vào các vị trí 1..4, mảng thành [2,3,5,7]. Truy vấn 2 in tổng 2+3+5+7=17. Sau truy vấn 3: cộng F1,F2,F3=1,1,2 vào các vị trí 2..4, mảng thành [2,4,6,9]. Truy vấn 4 in tổng 2+4+6=12.
2 2
1 2
2 1 2
2 1 2
3
3
Không có cập nhật, mỗi truy vấn đều in tổng cả mảng 1+2=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.47 awk 1.3.4 gcc 16.2.0 dotnet 10.0.402 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.6 gforth 0.7.3 gfortran 15.3.0 go 1.27.3 groovyc 5.1.3 javac 26.0.2.1 node 26.12.1 julia 1.13.2 kotlinc 2.4.21 lean 4.35.0 sbcl 2.2.9 lua 5.5.1 nim 2.2.12 fpc 3.2.2 fpc-themis 3.2.2 perl 5.42.3 php 8.5.12 pike 8.0 swipl 9.0.4 pypy3 7.3.23 python3 3.15.1 racket 8.7 ruby 4.0.8 rustc 1.99.1 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 swiftc 6.4.1 tclsh 8.6 bun 1.4.4 deno 2.9.8 v 0.5.2 zig 0.17.0