Cho chuỗi s chỉ gồm chữ thường. Hãy tìm chuỗi con liên tiếp đối xứng (palindrome) dài nhất. In ra độ dài và một chuỗi cụ thể.
Thuật toán Manacher chạy trong O(n): chèn dấu # giữa các ký tự (kèm hai biên ^, $) để xử lý palindrome chẵn/lẻ đồng nhất, sau đó duy trì tâm c và biên phải r để tận dụng kết quả đối xứng.
Ví dụ s= "babad" → một đáp án hợp lệ: độ dài 3, chuỗi bab hoặc aba.
Một dòng chứa chuỗi s.
1≤∣s∣≤105. Chuỗi chỉ gồm chữ cái thường.
Dòng 1: độ dài palindrome dài nhất. Dòng 2: một chuỗi palindrome cụ thể có độ dài đó.
Ví dụ:
Đầu vào:
babad
Đầu ra:
3
bab
Giải thích:
Đang tải editor...