canuc80k3516·17/50

Lịch Phim Trong Khung Giờ

Nộp bài trên LQDOJ

Bài 35 · Binary Lifting

Một liên hoan có bộ phim. Phim thứ bắt đầu tại thời điểm và kết thúc tại . Một người chỉ có thể xem trọn vẹn từng phim; sau khi một phim kết thúc, người đó có thể bắt đầu phim kế tiếp ngay tại cùng thời điểm.

Mỗi truy vấn cho thời điểm đến và thời điểm rời đi . Hãy tìm số phim nhiều nhất có thể xem trọn vẹn trong khoảng thời gian từ đến . Một phim được phép bắt đầu đúng lúc đến và phim cuối được phép kết thúc đúng lúc rời đi.

Input

  • Dòng đầu chứa và .
  • dòng tiếp theo, mỗi dòng chứa thời điểm bắt đầu và kết thúc của một phim.
  • dòng cuối, mỗi dòng chứa thời điểm đến và rời đi .

Output

  • Với mỗi truy vấn, in số phim nhiều nhất có thể xem.

Constraints

  • .
  • đối với mỗi phim.
  • đối với mỗi truy vấn.

Scoring

  • Subtask ( số điểm): .
  • Subtask ( số điểm): Không có giới hạn bổ sung.

Example

Test 1

Input

7 6
1 4
4 6
2 5
6 9
5 8
9 11
10 12
1 11
2 9
4 12
5 8
3 5
10 12

Output

4
2
3
1
0
1

Giải thích: Trong khung có thể xem bốn phim . Với , phim bắt đầu trước giờ đến và không có phim nào khác nằm trọn trong khung nên kết quả là .

Lời giải tóm tắt
  • Ý tưởng: Từ thời điểm hiện tại t, lựa chọn tham lam đúng là bộ phim có thời điểm kết thúc nhỏ nhất trong số các phim bắt đầu không sớm hơn t. Gọi thời điểm kết thúc đó là next[t]; sau khi xem phim, trạng thái mới chính là thời điểm kết thúc. Bảng nhảy trên next đếm nhanh số phim liên tiếp có thể kết thúc không muộn hơn giờ rời đi.
  • Chứng minh đúng: Quy tắc kết thúc sớm nhất là tối ưu theo phép đổi chỗ chuẩn của interval scheduling: thay phim đầu bằng phim kết thúc không muộn hơn không làm giảm lựa chọn còn lại. Vì next mô tả đúng một lựa chọn tham lam, các lũy thừa của next mô tả đúng nhiều phim liên tiếp.
  • Độ phức tạp: O((T+N+Q) log T) thời gian và O(T log T) bộ nhớ với T=10^6.
  • Lưu ý cài đặt: Hai lỗi trọng tâm cần tránh là: bắt buộc phim sau phải bắt đầu muộn hơn nghiêm ngặt thời điểm phim trước kết thúc; và ưu tiên phim bắt đầu sớm nhất thay vì phim kết thúc sớm nhất.