Phân loại chỉ số theo LIS
Đề bài
Mô tả
Cho dãy gồm phần tử .
Một dãy con với được gọi là tăng nếu . Một dãy con tăng được gọi là dài nhất nếu nó có độ dài lớn nhất trong tất cả các dãy con tăng của (viết tắt: LIS).
Một dãy có thể có nhiều LIS khác nhau. Hãy phân loại mọi chỉ số () vào ba nhóm:
- Nhóm gồm các chỉ số mà không thuộc bất kỳ LIS nào.
- Nhóm gồm các chỉ số mà thuộc ít nhất một nhưng không phải tất cả các LIS.
- Nhóm gồm các chỉ số mà thuộc tất cả các LIS.
Dữ liệu vào
- Dòng đầu chứa số nguyên : số phần tử của dãy.
- Dòng thứ hai chứa số nguyên .
Dữ liệu ra
In ra một xâu gồm ký tự. Ký tự thứ là '1', '2' hoặc '3' tương ứng với nhóm mà chỉ số thuộc về.
Ràng buộc
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 4 1 3 2 5 |
3223 | Dãy có đúng 2 LIS độ dài 3: và . Chỉ số 1 và 4 thuộc cả hai LIS (nhóm 3), chỉ số 2 và 3 mỗi cái chỉ thuộc một LIS (nhóm 2). |
| 4 1 5 2 3 |
3133 | Dãy có duy nhất 1 LIS độ dài 3 là . Các chỉ số 1, 3, 4 thuộc LIS duy nhất đó (nhóm 3); chỉ số 2 không thuộc LIS nào (nhóm 1). |
| 2 5 4 |
22 | LIS có độ dài 1. Cả và đều là LIS, nên mỗi chỉ số thuộc một LIS nhưng không thuộc cả hai (nhóm 2). |
Bình luận