trang chủ / đề bài / prevoi26_count

Count

Đề bài

Mô tả

Tuấn đang chuẩn bị một trò chơi cho chương trình truyền hình như sau: Có một số người chơi được chọn và ngồi thành vòng tròn. Mỗi người có 2 lá cờ: một cờ xanh và một cờ đỏ. Khi có hiệu lệnh, tất cả mọi người sẽ đồng loạt phất lên đúng một lá cờ.

Một cấu hình được coi là chiến thắng nếu:

  • Có đúng K người phất lá cờ màu xanh.
  • Giữa hai người phất cờ xanh liên tiếp trong vòng tròn có ít nhất P người phất cờ đỏ.

Khi K=1, hai người phất cờ xanh liên tiếp là chính người đó: đi hết một vòng tròn từ người đó về lại chính họ phải gặp ít nhất P người phất cờ đỏ, tức là n−1≥P. Khi K=0, cấu hình mọi người cùng phất cờ đỏ là cấu hình chiến thắng duy nhất.

Số người chơi có thể nằm trong khoảng từ L đến R. Ban sản xuất muốn biết đối với mỗi trường hợp (L,R,K,P) có bao nhiêu cách chiến thắng, tính trên tất cả số người chơi n thỏa mãn L≤n≤R, hai cách được coi là khác nhau nếu tồn tại một người phất lên cờ có màu khác.

Yêu cầu: Cho q câu hỏi, mỗi câu hỏi gồm bốn số nguyên L,R,K,P. Với mỗi câu hỏi, hãy tính tổng số cấu hình chiến thắng xét trên tất cả n thỏa mãn L≤n≤R.

Vì số lượng cấu hình có thể rất lớn, hãy in ra kết quả lấy dư với 109+7.

Dữ liệu vào

Dòng đầu tiên ghi số nguyên q (1≤q≤105), số lượng câu hỏi. Mỗi câu hỏi gồm 4 số L,R,K,P (1≤L≤R≤106,0≤K,P≤106).

Dữ liệu ra

Gồm q dòng, dòng thứ i in ra một số nguyên: số cách chiến thắng ứng với tình huống thứ i, lấy dư theo mod 109+7.

Ràng buộc

  • 1≤q≤105
  • 1≤L≤R≤106
  • 0≤K,P≤106

Subtasks

  • Subtask 1 (40% số điểm): q=1, 1≤L,R≤20.
  • Subtask 2 (30% số điểm): q=1, L=R.
  • Subtask 3 (20% số điểm): q=1.
  • Subtask 4 (10% số điểm): Không có giới hạn gì thêm.

Ví dụ

Input Output Giải thích
2
6 6 3 1
10 20 4 2
2
2277
Trong câu hỏi đầu có 6 người chơi, 3 người phất cờ xanh và có ít nhất 1 cờ đỏ giữa mỗi người, có 2 cấu hình thỏa mãn với những người phất cờ xanh: cấu hình 1 là 1,3,5; cấu hình 2 là 2,4,6.
1
1 5 1 2
12 Ví dụ thêm. Với n=1,2 không có cấu hình nào vì n−1<2; với n=3,4,5 người phất cờ xanh là bất kỳ ai, tổng 3+4+5=12.
1
3 7 0 5
5 Ví dụ thêm. Với K=0 mỗi n có đúng 1 cấu hình (mọi người phất cờ đỏ).

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