Bedao Grand Contest 17 - Hệ số nhị thức

Xem dạng PDF

Gửi bài giải


Điểm: 0,01 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 256M
Input: stdin
Output: stdout

Tác giả:
Dạng bài
Ngôn ngữ cho phép
C, C++, Go, Java, Kotlin, Pascal, PyPy, Python, Rust, Scratch

Nếu đã học qua đại số, ta sẽ không lạ lẫm gì về việc khai triển công thức ~(x + 1)^n~.

  • ~(x + 1)^1 = x + 1~

  • ~(x + 1)^2 = x^2 + 2x + 1~

  • ~(x + 1)^3 = x^3 + 3x^2 + 3x + 1~

  • ~(x + 1)^4 = x^4 + 4x^3 + 6x^2 + 4x + 1~

  • ~\ldots~

Và hệ số của ~x^k~ trong khai triển ~(x + 1)^n~ đúng bằng ~C_{n}^{k}~.

Ta quy định, ~F(n)~ là tổng số lượng số ~k~ ~(0 \le k \le n)~ có hệ số ~x^k~ cùng đồng dư với ~\phi~ khi ~\mod 2~. Hay nói cách khác: ~F(n) = \sum_{k = 0}^{n} [C_{n}^{k} \equiv \phi \mod 2]~ — với ~\phi~ là một số cho trước.

Có ~q~ truy vấn cần giải quyết. Ở truy vấn thứ ~t~, ta được cho ~2~ số nguyên ~l_t, r_t~ ta cần xác định ~S_t = \left(\sum_{i = l_t}^{r_t} F(i) \right) \bmod (10^9+7)~.

Input

  • Dòng đầu tiên gồm ~2~ số nguyên ~q, \phi~ (~1 \le q \le 10^5, 0 \le \phi \le 1~) – thể hiện số lượng truy vấn và giá trị của ~\phi~.

  • ~q~ dòng tiếp theo, mỗi dòng gồm ~2~ số nguyên ~l_t, r_t~ (~1 \le l_t \le r_t \le 10^{18}~).

Output

  • In ra ~q~ dòng, dòng thứ ~t~ là giá trị ~S_t~ tính được (~1 \le t \le q~).

Scoring

Subtask Điểm Giới hạn
1 ~10~ ~\max_{t = 1}^{q} r_t \le 10^3~
2 ~20~ ~\max_{t = 1}^{q} r_t \le 10^5~
3 ~70~ Không có ràng buộc gì thêm

Sample Input 1

2 0
1 4
3 4

Sample Output 1

4
3

Sample Input 2

2 1
1 2
3 4

Sample Output 2

4
6

Notes

Bên dưới là Tam giác Pascal:

~C_k^n~ k
3-7 0 1 2 3 4
n 0 1
1 1 1
2 1 2 1
3 1 3 3 1
4 1 4 6 4 1
1-2

Trong ví dụ 1, các cặp ~\{n,k\}~ thoả mãn là:

  • Truy vấn 1: ~\{2,1\}~, ~\{4,1\}~, ~\{4,2\}~, ~\{4,3\}~

  • Truy vấn 2: ~\{4,1\}~, ~\{4,2\}~, ~\{4,3\}~

Trong ví dụ 2, các cặp ~\{n,k\}~ thoả mãn là:

  • Truy vấn 1: ~\{1,0\}~, ~\{1,1\}~, ~\{2,0\}~, ~\{2,2\}~

  • Truy vấn 2: ~\{3,0\}~, ~\{3,1\}~, ~\{3,2\}~, ~\{3,3\}~, ~\{4,0\}~, ~\{4,4\}~.


Bình luận

Hãy đọc nội quy trước khi bình luận.


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