Skip to content

Editorial for Xoay ký tự

Xoay ký tự

Problem code: olpicpc017c05a Group: Uncategorized Points: 0 pointspartial
Limits
1.0 s, 256 MB
AC rate
22.7%
Solvers
12
Read the editorial only when you are stuck, and do not copy code from it. Please respect the problem author and the editorialist: submitting an official solution before solving the problem yourself is a bannable offence.

Để tạo chuỗi có thứ tự từ điển nhỏ nhất, cần ưu tiên xoay ký tự ở các vị trí đầu tiên sang ký tự a. Ta tiến hành duyệt qua các ký tự của S:

  • Nếu ký tự thứ i khác a và số lần xoay ít nhất để chuyển ký tự sang a nhỏ hơn hoặc bằng giá trị K thì tiến hành các thao tác ở ký tự này để chuyển nó sang a, đồng thời giảm giá trị K đi một lượng bằng số lần thao tác.
  • Ngược lại, không cần thực hiện thao tác ở ký tự thứ i.

Sau khi duyệt qua các ký tự của S, ta chỉ cần tiến hành K thao tác còn lại trên ký tự cuối cùng của chuỗi.

Độ phức tạp: O(|S|)

Comments