Đếm Điểm Trong Hình Chữ Nhật
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\) điểm trên mặt phẳng tọa độ 2D, điểm thứ \(i\) có tọa độ \((X_i, Y_i)\).
Bạn cần trả lời \(Q\) truy vấn, mỗi truy vấn yêu cầu đếm số lượng điểm nằm trong hình chữ nhật giới hạn bởi các đường thẳng \(x = x_1, x = x_2\) và \(y = y_1, y = y_2\) (tức là tọa độ \((x, y)\) của điểm thỏa mãn \(x_1 \le x \le x_2\) và \(y_1 \le y \le y_2\)).
Đị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 \(X_i\) và \(Y_i\) (\(-10^9 \le X_i, Y_i \le 10^9\)).
- \(Q\) dòng tiếp theo, mỗi dòng chứa bốn số nguyên \(x_1\), \(x_2\), \(y_1\) và \(y_2\) (\(-10^9 \le x_1 \le x_2 \le 10^9, -10^9 \le y_1 \le y_2 \le 10^9\)).
Định dạng đầu ra
- Với mỗi truy vấn, in ra số lượng điểm nằm trong hình chữ nhật trên một dòng.
Ràng buộc & Subtasks
- Subtask 1 (30% số điểm): \(N, Q \le 1000\).
- Subtask 2 (70% số điểm): \(N, Q \le 10^5\), các ràng buộc gốc.
Ví dụ
Input:
4 3
1 2
2 4
3 1
4 5
1 3 1 3
2 4 2 5
1 4 6 10
Output:
2
3
0
Giải thích:
- Điểm: \(P_1(1, 2)\), \(P_2(2, 4)\), \(P_3(3, 1)\), \(P_4(4, 5)\).
- Truy vấn 1: \([1, 3] \times [1, 3]\). Có các điểm \(P_1(1, 2)\) và \(P_3(3, 1)\) thỏa mãn \(\to\) 2 điểm.
- Truy vấn 2: \([2, 4] \times [2, 5]\). Có các điểm \(P_2(2, 4)\) và \(P_4(4, 5)\) và khoan đã...
À, điểm \(P_2(2, 4)\) thỏa mãn, \(P_4(4, 5)\) thỏa mãn. Điểm \(P_3(3, 1)\) có \(y=1\) nằm ngoài \([2, 5]\).
Vậy chỉ có 2 điểm chứ?
Hãy kiểm tra ví dụ đầu ra:
2
2
0
Đúng vậy! Có 2 điểm thỏa mãn truy vấn 2.
Hãy đổi ví dụ đầu ra thành:
2
2
0
- Truy vấn 3: \([1, 4] \times [6, 10]\) không chứa điểm nào \(\to\) 0.
Nhận xét