Các lượt nộp
    Danh sách bài
    Trang chủ
    Báo lỗi

    solution

    Đề bài: [Giải thuật] Lựa chọn hoạt động

    Có nnn hoạt động, hoạt động thứ iii bắt đầu lúc sis_isi​ và kết thúc lúc fif_ifi​ (một hoạt động chiếm khoảng thời gian [si,fi)[s_i, f_i)[si​,fi​)). Một người chỉ làm được một hoạt động tại một thời điểm; hai hoạt động i,ji, ji,j không chồng nhau nếu fi≤sjf_i \le s_jfi​≤sj​ hoặc fj≤sif_j \le s_ifj​≤si​.

    Hãy chọn số lượng hoạt động nhiều nhất sao cho không có hai hoạt động nào chồng nhau, rồi in ra số đó.

    Đây là bài toán kinh điển giải bằng tham lam: sắp xếp theo thời điểm kết thúc tăng dần, rồi lần lượt chọn hoạt động kết thúc sớm nhất mà không xung đột với hoạt động đã chọn.

    • Định dạng đầu vào:

      Dòng đầu chứa số nguyên nnn. Tiếp theo là nnn dòng, mỗi dòng chứa hai số nguyên si fis_i\ f_isi​ fi​ với si<fis_i < f_isi​<fi​.

    • Ràng buộc đầu vào:

      1≤n≤1051 \le n \le 10^51≤n≤105, 0≤si<fi≤1090 \le s_i < f_i \le 10^90≤si​<fi​≤109.

    • Định dạng đầu ra:

      In ra một số nguyên là số hoạt động nhiều nhất có thể chọn.

    Ví dụ:

    Đầu vào:

    3
    1 3
    2 4
    3 5
    

    Đầu ra:

    2

    Giải thích:

    Chọn [1,3) rồi [3,5): 2 hoạt động. [2,4) chồng cả hai nên bỏ.

    Đang tải editor...