Hướng dẫn cho Một bài tập thú vị về chữ số


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: flo

Subtask \(1\): \(1 \le l \le r \le 10^6\)

Hint
  • Ta sẽ có thể tính trước kết quả.
Hướng tiếp cận
  • Ta sẽ duyệt qua các số từ \(1\) tới \(10^6\). Với mỗi số, ta sẽ đếm số lần xuất hiện của các chữ số từ \(0\) tới \(9\). Mỗi lần xuất hiện của chữ số \(k\), ta sẽ lưu vào mảng thứ \(k\) (vậy sẽ có \(10\) mảng).
  • Với mỗi câu hỏi, ta sẽ in kết quả trong \(O(1)\).
  • Độ phức tạp của ý tưởng trên là \(O(10^6 + t)\).

Subtask \(2\): Không giới hạn gì thêm

Hint
  • Chỉ có làm thì mới có ăn, không làm mà đòi có ăn thì ăn \(...\)
Hướng tiếp cận
  • Dp-digit hoặc toán.


Bình luận


  • 5
    flo    9:07 p.m. 4 Tháng 9, 2023

    Chắc mn dislike do ko biết giải và còn bị mình up sussy solution ... Trường hợp như này thấy khá nhiều rồi ...

    • 3 bình luận nữa