[Buổi 35][Quy hoạch động 1 chiều & LIS][HW] Bài 3: Độ dài dãy tăng
Độ dài dãy tăng
Bối cảnh và bài toán
Từ dãy số đo, bạn cần giữ lại một số vị trí theo đúng thứ tự sao cho giá trị tăng nghiêm ngặt.
Yêu cầu
Tính số phần tử lớn nhất có thể giữ lại.
Input
Dòng 1: n. Dòng 2: dãy a.
Output
In độ dài lớn nhất.
Ràng buộc
1 <= n <= 5000-10^9 <= a_i <= 10^9
Chấm điểm
| Subtask | Điểm | Điều kiện | Official tests |
|---|---|---|---|
| S1 | 40 | n <= 300 |
01–08 |
| S2 | 60 | Không có ràng buộc bổ sung | 09–20 |
Ví dụ 1
Input
8
7 3 5 3 6 2 9 8
Output
4
Giải thích. Ví dụ nhỏ giúp kiểm tra cách mô hình hóa trạng thái và kết quả cuối; khi tự giải, cần suy luận từ ràng buộc thay vì suy đoán từ sample.
Ví dụ 2
Input
5
5 4 3 2 1
Output
1
Giải thích. Hãy đối chiếu với edge case: trạng thái đầu, trạng thái không đạt được, tie hoặc biên chỉ số tùy bài.
Thông tin bài tập
| Thuộc tính | Giá trị |
|---|---|
| Mã bài | DSA-M10-B35-HW03 |
| Buổi | B35 |
| Loại bài | HOMEWORK |
| Mức độ khó | Trung bình (Medium) |
| Thời gian làm bài khuyến nghị | 35 phút |
| Time limit | 2 giây |
| Memory limit | 256 MB |
| Tổng điểm | 100 |
| Chuẩn ngôn ngữ tham chiếu | C++11 trở lên |
Nguồn: Phỏng theo / Adapted from CSES Increasing Subsequence. Bản FULLHOUSE DEV đã biên tập bối cảnh/format và ràng buộc khi cần để khớp scope-lock của khóa học.
Comments