Bài 3 Chọn đội tuyển CHL thi thành phố - Signal
Xem dạng PDFBài 3. Chuỗi tín hiệu (5,0 điểm)
Hệ thống viễn thông của thành phố bao gồm N trạm phát sóng được xếp dọc theo một tuyến đường ngang, đánh số thứ tự từ 1 đến N. Trạm thứ i được cấp một dải băng tần biểu diễn bởi một số nguyên dương A_i.
Để thiết lập một 'chuỗi tín hiệu' thông suốt, kỹ sư cần chọn ra một dãy các trạm i1 < i2 < ... < ik (giữ nguyên thứ tự từ trái sang phải) sao cho hai trạm liên tiếp bất kỳ trong dãy được chọn phải có ít nhất một mức băng tần chung. Trong hệ thống máy tính, điều này tương đương với việc thực hiện phép toán thao tác bit AND của hai số A(im) và A(i(m+1)) phải cho ra kết quả lớn hơn 0 (tức là A(im) ' AND ' A(i_(m+1)) > 0 với mọi 1 <= m < k).
Yêu cầu: Hãy tính độ dài lớn nhất k của chuỗi tín hiệu thỏa mãn điều kiện trên.
Dữ liệu
Vào từ file văn bản SIGNAL.INP:
- Dòng đầu tiên chứa số nguyên dương N (1 <= N <= 10^5).
- Dòng thứ hai chứa N số nguyên dương A1, A2, ..., AN (1 <= Ai <= 10^9) mô tả băng tần của các trạm phát sóng. Các số trên cùng một dòng cách nhau bởi dấu cách.
Kết quả
Ghi ra file văn bản SIGNAL.OUT:
- Một số nguyên duy nhất là độ dài k lớn nhất của chuỗi tín hiệu.
Ví dụ
| SIGNAL.INP | SIGNAL.OUT |
|---|---|
| 5 1 2 3 4 6 |
3 |
Giải thích Chuỗi tín hiệu dài nhất gồm 3 trạm: Trạm 2 -> Trạm 3 -> Trạm 5.
- Trạm 2 và 3: 2 ' AND ' 3 = 2 > 0.
- Trạm 3 và 5: 3 ' AND ' 6 = 2 > 0. Vậy độ dài lớn nhất là 3.
Chấm điểm
- Subtask 1 (25% số điểm): N <= 20;
- Subtask 2 (25% số điểm): N <= 1000;
- Subtask 3 (25% số điểm): N <= 10^5; A_i luôn là một lũy thừa của 2;
- Subtask 4 (25% số điểm): Không có ràng buộc gì thêm.
Bình luận