Thi thử đợt 2 TS10 PTNK 2026 - Mã hoán vị
Xem dạng PDFTrong trường hợp đề bài hiển thị không chính xác, bạn có thể tải đề bài tại đây: Đề bài
Sân chơi trí tuệ còn có một thách thức khác, người chơi nhận một xâu kí tự có độ dài ~2n~ và được thực hiện phép biến đổi sau: chọn 2 kí tự liên tiếp bất kỳ trên xâu và đổi chỗ chúng. Mục tiêu của trò chơi là biến đổi xâu trở thành dạng "lặp đôi", nghĩa là xâu được viết lặp lại 2 lần của một xâu khác rỗng nào đó. Chẳng hạn các xâu "aaaa", "abcabc" là những xâu dạng lặp đôi.
Yêu cầu: Cho xâu đầu vào ~S~, hãy tìm số phép biến đổi ít nhất để chuyển ~S~ thành xâu có dạng lặp đôi.
Input
Dòng đầu tiên chứa số nguyên dương ~n~ ~(1 \le n \le 10^5)~.
Dòng thứ hai chứa xâu gồm ~2n~ kí tự latin in thường.
Dữ liệu đảm bảo luôn có lời giải.
Output
- In ra một số nguyên - số phép biến đổi ít nhất cần thực hiện.
Scoring
| Subtask | Điểm | Ràng buộc |
|---|---|---|
| 1 | ~10\%~ | Xâu gồm ~n~ ký tự 'a' rồi ~n~ ký tự 'b' (hoặc ngược lại) |
| 2 | ~20\%~ | Mỗi chữ cái xuất hiện đúng 2 lần ~(n \le 26)~ |
| 3 | ~20\%~ | Nửa đầu và nửa sau của xâu là hai hoán vị của nhau |
| 4 | ~20\%~ | ~1 \le n \le 1000~ |
| 5 | ~30\%~ | Không có ràng buộc thêm ~(1 \le n \le 10^5)~ |
Sample Input 1
3
koeeok
Sample Output 1
3
Sample Input 2
3
kekoeo
Sample Output 2
1
Sample Input 3
4
soolnlsn
Sample Output 3
4
Notes
Ví dụ 1: ~koee[ok] \rightarrow koe[ek]o \rightarrow k[oe]keo \rightarrow keokeo~
Ví dụ 2: ~ke[ko]eo \rightarrow keokeo~
Ví dụ 3: ~so[ol]nlsn \rightarrow sol[on]lsn \rightarrow [so]lnolsn \rightarrow o[sl]nolsn \rightarrow olsnolsn~
Bình luận