Dãy con tăng dài nhất
Khóquy hoạch độngtìm kiếm nhị phân5 test · 3 giây
Cho dãy n số nguyên. Tìm độ dài dãy con tăng ngặt dài nhất (các phần tử giữ nguyên thứ tự nhưng không cần liền nhau).
- DP O(n²) quá chậm với n = 2·10⁵. Cách O(n log n): duy trì mảng
tails[k]= giá trị cuối nhỏ nhất của dãy tăng độ dài k + 1, cập nhật bằng tìm kiếm nhị phân.
Dữ liệu vào
Dòng 1: n (1 ≤ n ≤ 2·10⁵).
Dòng 2: n số nguyên (|aᵢ| ≤ 10⁹).
Dữ liệu ra
Độ dài dãy con tăng dài nhất.
Ví dụ
Input
8 10 9 2 5 3 7 101 18
Output
4
Ví dụ 2, 3, 7, 101
Input
4 7 7 7 7
Output
1
Tăng ngặt nên chỉ được 1
Bài tiếp theo: Xâu con chung dài nhất →
Input (stdin)
Output
Bấm “Chạy thử” để xem kết quả với input bên trái.