Hướng dẫn cho PASSWORD_B1CUP2023


Chỉ sử dụng khi thực sự cần thiết như một cách tôn trọng tác giả và người viết hướng dẫn này.

Chép code từ bài hướng dẫn để nộp bài là hành vi có thể dẫn đến khóa tài khoản.

Authors: ThayHung

+ Subtask 1 (28% số điểm): \(n, k ≤ 10^3\).

Làm như những gì đề yêu cầu.

Độ phức tạp: \(O(n × k)\)

+ Subtask 2 (33% số điểm): \(n ≤ 10^3.\)

Nhận xét rằng khi xoay dãy phía dưới đủ \(n\) lần thì thì nó trở về như cũ. Vậy ta có thể:

  • Tính tổng cho \(n\) lần xoay rồi nhân kết quả với \([n/k]\).
  • Tính riêng cho số lần xoay còn lại như \(subtask 1.\)

Độ phức tạp: \(O(n^2)\)

+ Subtask 3 (39% số điểm): Không có ràng buộc gì thêm.

Ta có thể cải tiến bằng cách sử dụng tổng tiền tố cho cả hai lần tính của \(subtask 2\).

Độ phức tạp: \(O(n)\)


Bình luận

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