Series ℍ𝔾𝔹ℂ𝕡𝕡_'s - 2026 - Contest #2 - Tiền tố đối xứng dài nhất

Xem PDF



Tác giả:
Dạng bài
Ngôn ngữ cho phép
Assembly, Awk, C, C#, C++, Clang, Cobol, D, Groovy, Haskell, JS, Java, Kotlin, Lua, Node JS, OCaml, ObjectiveC, Output, PHP, Pascal, Perl, Prolog, Pypy, Pypy 3, Python, Ruby, Rust, Scala, Scratch, Swift
Điểm: 1500 Thời gian: 0.5s Bộ nhớ: 256M Input: strpf.inp Output: strpf.out

Sau ngày đầu tiên của p2o2HuaGiaBao với chuyến đi thích thú. Vào đêm, anh ấy nhìn thấy biển báo nhắc nhở trong khách sạn và nhận thấy điều đặc biệt và viết nên bài toán như sau: Cho hai xâu ký tự \(S\)\(T\) có cùng độ dài \(N\) chỉ gồm các chữ cái latin tiếng Anh viết thường. Với mỗi vị trí \(i\) (\(1 \le i \le N\)), gọi \(P(S, i)\) là tiền tố độ dài \(i\) của xâu \(S\). Hãy tìm giá trị \(L\) lớn nhất sao cho:

  1. \(1 \le L \le N\).
  2. \(P(S, L)\) khi viết ngược lại sẽ khớp hoàn toàn với một xâu con độ dài \(L\) nào đó của \(T\).

Nói cách khác, bạn cần tìm số \(L\) lớn nhất sao cho tồn tại ít nhất một chỉ số \(j\) (\(1 \le j \le N - L + 1\)) thỏa mãn: \(S[1 \dots L]\) đảo ngược bằng với \(T[j \dots j+L-1]\).

Input

  • Dòng đầu tiên chứa số nguyên \(N\) (\(1 \le N \le 10^5\)).
  • Dòng thứ hai chứa xâu \(S\).
  • Dòng thứ ba chứa xâu \(T\).

Output

  • Một số nguyên duy nhất là giá trị \(L\) lớn nhất tìm được. Nếu không có giá trị \(L\) nào thỏa mãn, in ra 0.

Example

Test 1

Input
7
abacaba
baabcde
Output
2
Notes
  • Thử với \(L = 3\):
  • Tiền tố độ dài 3 của \(S\): \(S[1\dots3]\) là aba
  • Đảo ngược của \(S[1\dots3]\) là aba
  • Kiểm tra xem trong \(T\) (baabcde) có xâu con nào dài \(3\) bằng aba không: Không có (các xâu con độ dài 3 của \(T\)baa, aab, abc, bcd, cde). Do đó \(L = 3\) không thỏa mãn.
  • Thử với \(L = 2\):
  • Tiền tố độ dài 2 của \(S\): \(S[1\dots2]\)ab.
  • Đảo ngược của \(S[1\dots2]\)ba.
  • Kiểm tra trong \(T\) (baabcde):
  • Xâu con \(T[1\dots2]\)\(3\)!
  • Do tìm được ít nhất một vị trí khớp, \(L = 2\) là đáp án hợp lệ. Vì chúng ta đang tìm \(L\) lớn nhất và đã tìm thấy ở bước này, kết quả cuối cùng là \(2\).

Test 2

Input
5
abcde
edcba
Output
5

Bình luận

Mới nhất
Tải bình luận...

Không có bình luận nào.