Truy Vấn Bao Phủ Hoàn Toàn
Xem dưới dạng PDF
Gửi bài giải
Điểm:
30
Giới hạn thời gian:
2.0s
Giới hạn bộ nhớ:
256M
đầu vào:
stdin
Đầu ra:
stdout
Tác giả:
Kiểu bài tập
Cho \(N\) đoạn thẳng trên trục số, đoạn thẳng thứ i giới hạn từ tọa độ L_i đến R_i (\(L_i \le R_i\)).
Bạn cần xử lý \(Q\) truy vấn: Mỗi truy vấn cho một đoạn \([A, B]\) (\(A \le B\)). Hãy tìm tất cả các đoạn thẳng bao phủ hoàn toàn đoạn \([A, B]\) (\(tức là L_i \le A \le B \le R_i\)).
Với mỗi truy vấn, hãy in ra:
- Số lượng đoạn thẳng bao phủ hoàn toàn \([A, B]\).
- Tổng các tích \(L_i \times R_i\) của các đoạn thẳng tìm được, chia lấy dư cho \(10^9+7\).
Định dạng đầu vào
- Dòng đầu chứa hai số nguyên dương \(N\) và Q (\(1 \le N, Q \le 10^5\)).
- \(N\) dòng tiếp theo, mỗi dòng chứa hai số nguyên L_i và R_i (\(-10^9 \le L_i \le R_i \le 10^9\)).
- \(Q\) dòng tiếp theo, mỗi dòng chứa hai số nguyên A và B (\(-10^9 \le A \le B \le 10^9\)).
Định dạng đầu ra
- Với mỗi truy vấn, in ra số lượng đoạn thẳng tìm được và tổng tích modulo \(10^9+7\) cách nhau bởi dấu cách trên một dòng.
Ví dụ
Input:
3 3
1 5
2 8
10 12
3 4
2 9
11 11
Output:
2 21
0 0
1 120
Giải thích:
- Các đoạn thẳng: \([1, 5]\), \([2, 8]\), \([10, 12]\).
- Truy vấn 1 (\([3, 4]\)): Bao phủ bởi \([1, 5]\) và \([2, 8]\). Số lượng = 2. Tổng tích = \((1 \times 5) + (2 \times 8) = 5 + 16 = 21\).
- Truy vấn 2 (\([2, 9]\)): Không có đoạn nào bao phủ hoàn toàn \([2, 9] \to\) 0 0.
- Truy vấn 3 (\([11, 11]\)): Bao phủ bởi \([10, 12]\). Số lượng = 1. Tổng tích = 120.
Ràng buộc & Subtasks
- **Subtask 1 (30% số điểm):\(Q \le 1000\).
- **Subtask 2 (70% số điểm):\(Q \le 10^{5}, các ràng buộc gốc\).
Nhận xét