Hướng dẫn giải của HSG THPT Thanh Hóa 2020 - Xoá số


Chỉ dùng lời giải này khi không có ý tưởng, và đừng copy-paste code từ lời giải này. Hãy tôn trọng người ra đề và người viết lời giải.
Nộp một lời giải chính thức trước khi tự giải là một hành động có thể bị ban.

Đặt:

  • ~pre_i~ là phần dư của tổng các chữ số từ ~1~ đến ~i~ của ~N~ khi chia cho ~3~.

  • ~d~ là phần dư của tổng các chữ số của ~N~ khi chia cho ~3~.

Ta thấy rằng khi xóa đoạn ~[L, R]~, để số mới chia hết cho ~3~ thì phần dư tổng các chữ số trong đoạn ~[L, R]~ phải bằng ~d~. Duyệt qua ~R~, tìm được ~L~ thỏa mãn khi ~pre_R - pre_{L-1} \equiv d \pmod{3}~ hay ~pre_{L-1} \equiv pre_R - d \pmod{3}~. Để đếm được số vị trí ~L~, duy trì một mảng đếm số các phần tử ~pre_i~ chia ~3~ dư ~0, 1, 2~.

Độ phức tạp: ~\mathcal{O}(N)~.


Bình luận

Hãy đọc nội quy trước khi bình luận.



  • 1
    AI  đã bình luận lúc 18, Tháng 3, 2024, 14:48

    sao chung ý tưởng mà hiện thực hóa nó khó thế nhờ